异常情况下activity生命周期分析:
情况1:资源相关的系统配置发生改变导致activity被杀死并重新创建
比如手机横竖屏切换,当系统配置发生改变后activity被销毁重建,他的onPause,onStop,onDestroy都会被调用,由于是在异常情况下终止的,系统会调用onSaveInstanceState方法来保存当前activity的状态,这个方法的调用是在onStop之前,但是和onPause没有既定的时序关系.
情况2:资源内存不足导致低优先级的activity被杀死
数据存储和回复和情况1一样, 优先级可分为如下三种:
(1) 前台activity--正在和用户交互的activity,优先级最高
(2) 可见单非前台activity--比如activity弹出一个对话框,导致activity可见但是位于后台无法和用户直接交互
(3) 后台activity--已经被暂停,比如执行了onStop,优先级最低