关于activity的生命周期
activity有 onCraete-onStart-onResume-onPause-onStop-onDestroy 这6个是比较常规的,还有两个是onSaveInstanceState以及onRestoreInstanceState。
当新打开一个 activity的时候,执行的是 onCraete-onStart-onResume 的顺序
1> 按返回键返回,或者调用finish结束此Activity ,则执行的是 onPause-onStop-onDestroy
2> 按Home键返回,执行onSaveInstanceState-onPause-onStop
在按了Home之后再次启动这个Activity,执行的是onStart-onResume
3 > 如果跳转到其他一个新的Activity 则执行 onSaveInstanceState-onPause-onStop,从新的Activity返回,执行onStart-onResume 这个与Home键的顺序一样。
4> 如果按ctrl+f12 从竖屏切换到横屏,执行onSaveInstanceState-onPause-onStop-onDestroy -onCreate-onStart-onRestoreInstanceState-onResume
如果是从横屏切换到竖屏,会执行两次。
如果设置了 Activity的 android:configChanges=“orientation”的属性,不管是横屏还是竖屏都只执行一次
如果设置了Activity的 android:configChanges="orientation|keyboardhidden",在横竖切换的时候只会执行onConfigurationChanged这个函数
据说,onSaveInstanceState会在当次线程系统因为内存不够而kill的时候会被调用,是否可以写一个实例来测试下?