在Android系统中,应用程序好像本身是不能控制自己的进程生命的,这项工作由Runtime负责,它能够管理每个应用程序的进程,但是每个Activity的状态反过来会影响到Runtime是否终止当前Activity和还是让它继续运行。
图一生动的展现了Activity的整个生命周期间的所有状态变化,下面逐步介绍各个状态及其变化。
图 1 Activity 的生命周期
Activity 启动后首先进入onCreate()函数,执行一系列的函数方法后到onDestory函数生命周期结束。在onCreate()函数中,主要做界面的一些初始化准备工作,而onDestory()函数会将Activity使用到的资源全部释放。
Activity的生命周期分为3个阶段:
第一阶段:onCreate(),初始化界面及数据资源,用户看不到界面;
第二阶段:从onStart()到onStop()结束,可以看到UI界面和用户进行交互;
第三阶段:onDestory(),系统回收该Activity所占用的资源,结束该Activity。
注意:并非所有的Activity 都有用户界面,如幕后下载线程就不需要用户界面,幕后的这个Activity可通过广播或者Handler来与前台的Activity交互。
在第二阶段的onStart到onStop为可视周期,用户可以在onStart中注册广播来监视数据变化并影响UI界面的变化,该广播将在onStop中被注销。
onResume到onPause为Activity的前台生命,Activity经常在暂停和恢复之间进行状态转换。