Android Activity生命周期
Activity主要有三个状态:
当在屏幕前台时(位于当前任务堆栈的顶部),它是活跃或运行的状态。它就是相应用户操作的Activity。
当它失去焦点但仍然对用户可见时,它处于暂停状态。即:在它之上有另外一个Activity。这个Activity也许是透明的,或者未能完全遮蔽全屏,所以被暂停的Activity仍对用户可见。暂停的Activity仍然是存活状态(它保留着所有的状态和成员信息并连接至窗口管理器),但当系统处于极低内存的情况下,仍然可以杀死这个Activity。
如果它完全被另一个Activity覆盖时,它处于停止状态。它仍然保留所有的状态和成员信息。然而它不再为用户可见,所以它的窗口将被隐藏,如果其他地方需要内存,则系统经常会杀死这个Activity。
Activity生命周期图

Activity的生命周期是由这七个方法来实现的
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
完整的生命周期自第一次调用onCreate()开始,直到调用onDestroy()为止。
Activity在onCreate()中设置所有的“全局”状态以完成初始化,并创建线程。Activity在onDestroy()销毁那个线程。
可视生命周期自onStart()调用开始直到相应的onStop()调用结束。在此期间,用户可以在屏幕上看到此Activity,尽管它也许并不是位于前台或者正在与用户做交互。
前台生命周期自onResume()调用起,至相应的onPause()调用为止。在此期间,Activity位于前台最上面并与用户进行交互。Activity会经常在暂停和恢复之间进行状态转换。onPause()是唯一一个在进程被杀死之前必然会调用的方法。onStop()和onDestroy()有可能不被执行,因此应该用onPause()来将所有持久性数据写入存储之中。
浙公网安备 33010602011771号