必调用的三个方法: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()
2.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
onSaveInstanceState()
当你的程序中某一个Activity
A在运行时,主动或被动地运行另一个新的Activity
B,这个时候A会执行onSaveInstanceState()。B完成以后又会来找A,这个时候就有两种情况:一是A被回收,二是A没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上了参数savedInstanceState;而没被收回的就直接执行onResume(),跳过onCreate()了。
原文:http://www.cnblogs.com/youngforlife/p/3553349.html