activity主要生命周期的方法说明:
onCreate(Bundle savedInstanceState): 创建activity时调用。设置在该方法中还以Bundle
的形式提供对以前储存的任何状态的访问!
onStart(): activity变为在屏幕上对用户可见时调用。
onResume(): activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法总是被调用)。
onPause(): activity被暂停或收回CPU和其他资源时调用,该方法用于保护活动状态的,也是保护现场,压栈。
onStop(): activity被停止并转为不可见阶段及后续的生命周期事件时调用。
onRestart(): 重新启动activity时调用。该活动仍在栈中,而不是启动新的活动。
onDestroy(): activity被完全从系统内存中移除时调用。
以上为activity生命周期的方法,其中必须调用的方法有三个: onCreate() -> onStart -> onResume()
用AAA表示,示例如下:
(1)父Activity启动子Activity,子Actvity退出,父Activity调用顺序如下
AAA –> onFreeze() –> onPause() –> onStop() –> onRestart() –> onStart(),onResume() …
(2)用户点击Home,Actvity调用顺序如下
AAA –> onFreeze() –> onPause() –> onStop() — Maybe –> onDestroy() – Maybe
(3)调用finish(), Activity调用顺序如下
AAA –> onPause() –> onStop() –> onDestroy()
(4)在Activity上显示dialog, Activity调用顺序如下
AAA
(5)在父Activity上显示透明的或非全屏的activity,Activity调用顺序如下
AAA –> onFreeze() –> onPause()
(6)设备进入睡眠状态,Activity调用顺序如下
AAA –> onFreeze() –> onPause()