Android程序中,Activity是程序和用户交互的界面,在系统中存在四种状态:Running, Paused, Stopped, Killed。
Running是指Activity在系统中获得焦点的状态,此时用户可以与该程序进行交互,对程序进行直接操作。
Paused 是指Activity在系统中未获得焦点,但对用户来说仍然可视的状态,该Activity上层可能有一个透明、对于用户不可见的Activity层或者有一个Dialog样式的Activity层,都会让Activity进入Paused状态。此状态下该Activity无法和用户进行直接交互。
Stopped是当该Activity在系统中失去焦点并且上层存在不透明的、非Dialog样式的Activity(即对用户不可视)的状态。此状态下,该Activity的数据毁在RAM中暂时保留,但是,一旦系统需要内存,这种处于Stopped状态的Activity占用的RAM空间会优先被清理并重新利用。所以,在Activity处于Stopped状态时,必须要保存该Activity的UI状态,否则一旦RAM空间被重新利用,UI状态和数据就完全丢失。
Killed是指Activity在RAM中被移除或者说关闭的状态。也就是说此时Activity处于关闭的状态,不占用RAM空间。
在Android Studio中,当我们创建一个新的Activity时,会自动帮我们写一个onCreate()方法,而在Activity运行的各个阶段,程序会调用的方法不只是onCreate(),还包含onStart(),onResume(),onPause(),onStop(),onDestory(),onRestart(),共七个方法。下图是Activity对象生命周期调用各种方法的流程图:
其中onCreate()用于创建Activity,onStart()用于启动Activity,onResume()用于恢复Activity,onPause()用于暂停Activity,onStop()用于停止Activity,onRestart()用于重启Activity,onDestory()用于销毁Actvivity。