Activity生命周期

来源:互联网 发布:php编程题 编辑:程序博客网 时间:2024/05/29 20:01

关于引用的部分我都加了“”

应用启动onCreate->onStart->onResume,按back键 onPause->onStop->onDestory.如果按home键onPause->onStop,在打开应用onRestart->onStart->onResume.

onPause一般是当前Activity失去焦点,onStop一般是指这个Activity不可以见了,这个如果做过项目,对于Activity的生命周期印象应该很深了

关于onSaveInstanceState和onRestoreInstanceState,并不能保证这两个方法一定被调用或是成对的被调用,

“onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”时销毁了你的activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的数据(当然你不保存那就随便你了)”

"onRestoreInstanceState被调用的前提是,activity A“确实”被系统销毁了,而如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用,例如,当正在显示activity A的时候,用户按下HOME键回到主界面,然后用户紧接着又返回到activity A,这种情况下activity A一般不会因为内存的原因被系统销毁,故activity A的onRestoreInstanceState方法不会被执行",我试了下在这种情况下onSaveInstanceState会被调用

但是横竖屏切换的时候或者用杀进程的方式把它杀死这两个方法会被调用一般这时候,横竖屏转换调用的顺序就是:Android 5.0上调式

onCreate->onStart->onResume->onPause->onSaveInstanceState->onStop->onDestory->onCreate->onStart->onRestoreInstanceState->onResume

关于Activity和其Fragment的生命周期:Android5.0上调式

Activity onCreate ->Fragment onAttach->Fragment onCreate ->Fragment onCreateView -> Activity onStart -> Fragment onStart -> Activity onResume -> Fragment onResume -> Fragment onPause -> Activity onPasue-> Fragment onStop -> Activity onStop -> Fragment onDestoryView->Fragment onDestory-> Fragment onDetach->Activity onDestory

其实也很好理解Activity是父,当然先有父再有子,消亡的时候当然是子先结束然后结束父






0 0