1.Activity介绍
Activity是Android四大组件(Activity、Service、Broadcast Reciever、Context Provider)之一。
Activity就是布满整个窗口或者悬浮于其他窗口上的交互界面。一个应用程序通常会包含多个Activity,并且会在AndroidManifest.xml中指定一个主的Activity。
Activity有三种状态,分别为运行状态、暂停状态和停止状态。
运行状态:运行状态的Activity是指处于屏幕前台(位于当前任务堆栈的顶部)的Activity,该Activity处于激活状态,用来响应用户的当前操作。
暂停状态:暂停状态的Activity失去焦点,但它仍然对用户可见。也就是说在它之上有另外一个Activity正处于运行状态。处于暂停状态的Activity也许是透明的,或者是没有完全覆盖全屏,所以被暂停的Activity仍然对用户可见。处于暂停状态的Activity仍然是存活的(它保留着所有的状态和成员信息并保持和窗口管理器的连接),但系统处于极低内存时仍然可以杀死这个Activity。
停止状态:完全被另一个Activity覆盖时则该Activity处于停止状态。处于停止状态的Activity仍然保留所有的状态和成员信息。然而对用户处于停止状态的Activity是不可见的,所以它的窗口将被隐藏,如果其它地方需要内存,则系统经常会杀死这种处于停止状态的Activity。
2.Activity生命周期
Activity生命周期的7个方法分别为:
void onCreate(Bundle savedInstanceState)
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()
Activity生命周期的7个方法之间的调用关系可参看图1所示。
图1 Activity生命周期的7个方法之间的调用关系
从上图可以看出,开始Activity时会分别是执行onCreate、onStart和onResume这三个生命周期方法。Activity重新获得焦点时会依次执行onRestart、onStart和onResume这三个生命周期方法。而关闭Activity时则会依次执行onPause、onStop和onDestory这三个生命周期方法。