典型的生命周期分析
典型的生命周期可以分为三对,onCreate、onDestory onStart、onStop和onResume、onPause。
其中onCreate、onDestory 分别表示Activity的创建和销毁。onStart、onStop表示Activity前后台的切换。onResume、onPause则表示Activity是否可见。一般情况下,后两对的区别可以忽略。
Activity打开和关闭时的一些情况
当Activity打开时先执行onCreate 、onStart、onResume。关闭时执行onPause、onStop、onDestory。
当按home键切换回桌面时则执行onPause、onStop。如果是透明主题不执行onStop。再返回时则执行onRestart 、onStart 、onResume。
当打开一个新的Activity时则先执行现在Activity的onPause再执行新Activity的onCreate 、onStart、onResume后执行之前Activity的onStop。
异常情况下的生命周期
系统配置发生变化时被杀死
系统配置有很多种,以屏幕方向发生改变为例。如果没有配置configChanges,则屏幕横竖变化时Activity会被销毁重建。销毁时会调用onSaveInstanceState() 来保存Activity数据后调用onStop、onDeatory来销毁。之后会重新生成新的Activity,在onStart之后会onRestoreInstanceState来恢复数据。需要注意的是这一对方法只在出现异常被销毁,然后被重建的情况下才会被执行,正常的销毁情况下是不会执行的。