简介
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)中执行对应的状态恢复。其他的方法可以在需要时进行实现,当实现这些方法的时候需要注意的是一定要调用父类中的对应方法。