Android Activity原理以及其子类描述
来源:互联网 发布:森林优化 编辑:程序博客网 时间:2024/05/22 08:15
原文章地址:http://blog.csdn.net/banketree/article/details/25771913
简介
Activity是Android应用程序组件,实现一个用户交互窗口,我们可以实现布局填充屏幕,也可以实现悬浮窗口。一个app由很多个Actvitiy组合而成,它们之间用intent-filter区别主次关系。
下面将简单介绍Activity以及其子类和其它界面。
详情
1、Activity
2、ListActivity
3、ActivityGroup
4、TabActivity
5、PreferenceActivity
6、FragmentActivity
7、ListFragment
8、NativeActivity
9、ExpandableListActivity
10、LauncherActivity
11、AliasActivity
12、PreferenceFragment
13、ActivityCompat
14、ActivityUnitTestCase
Activity 管理
目前涉及到Activity管理的类就两个:1、LocalActivityManager 2、ActivityManager。它们分别做了什么呢?生命周期
这里有三个比较关键的生命周期。
从最初调用onCreate(Bundle)到最终调用onDestroy()称为完整生命周期。Activity会在onCreate()进行所有“全局”状态的设置,在onDestroy()中释放所有持有的资源。举个例子,如果它有一个从网络上下载数据的后台线程,那他可能就会在onCreate()中创建这个线程并在onDestroy()中停止这个线程。
从activity调用onStart()开始,到调用对应的onStop()为止称为可见生命周期。在这段时间内用户可以在屏幕上看到这个activity,尽管并不一定是在前景也不一定可以和用户交互。在这两个方法之间你可以维护那些activity在用户显示时所需的资源。举个例子来说,你可以在onStart()中注册一个IntentReceiver来监控那些可以对你的UI产生影响的环境改变,当你的UI不继续在用户面前显示时你可以在onStop()中注销这个IntentReceiver。每当activity在用户面前显示或者隐藏时都会调用相应的方法,所以onStart()和onStop()方法在整个生命周期中可以多次被调用。
从activity调用onResume()开始,到调用对应的onPause()为止称为前景生命周期,这段时间activity处于其他所有activity的前面,且与用户交互。一个activity可以经常在resumed和paused状态之间转换——例如手机进入休眠时、activity的结果返回时、新的intent到来时——所以这两个方法中的代码应该非常的简短。
下面的Activity方法定义了activity完整的生命周期。他们全都是hook方法,你可以重载这些方法从而使activity在状态改变时执行你所期望的操作。所有activity都应该实现自己的onCreate(Bundle)方法来进行初始化设置;大部分还应该实现onPause()方法提交数据的修改并且准备终止与用户的交互。尽管我们计划在系统中添加更多的工具来管理应用,现在大多activity仍需要实现onFreeze()并且在onCreate(Bundle)中执行对应的状态恢复。其他的方法可以在需要时进行实现,当实现这些方法的时候需要注意的是一定要调用父类中的对应方法。
- Android Activity原理以及其子类描述
- Android Activity原理以及其子类描述
- Android Activity原理以及其子类描述
- Android Activity原理以及其子类描述
- Android View与GroupView原理以及其子类描述
- Android View与GroupView原理以及其子类描述
- Android View与GroupView原理以及其子类描述
- Android View与GroupView原理以及其子类描述
- Android View与GroupView原理以及其子类描述
- AdapterView以及其子类
- Android的activity以及其生命周期
- Android Activity子类
- Android TextView以及子类
- Android ImageView以及子类
- Android AdapterView以及子类
- Android ProgressBar以及子类
- Android Activity形象描述
- Android Activity 类接口描述
- Scrum实施【敏捷开发总结】
- Eclipse运行网站时内存溢出解决方法
- poj3111
- 黑马程序员 —— 面向对象(第十天)
- apt-get install 的替换命令及mysql安装问题的解决
- Android Activity原理以及其子类描述
- Swift之网络编程-请求缓存
- HDU 1102 最小生成树
- N-Queens -- leetcode
- ACM #1014 : Trie树
- django 模板中使用数组形式
- 黑马程序员 —— Java多线程1 (第十一天)
- 关于继承,函数的继承
- Android应用开发基础之广播与服务