Activity的生命周期方法onCreate onRestart onStart onResume onPause onStop onDestory
其中activity创建时执行onCreate方法显示时执行onStart 方法 获取焦点时执行onResume方法 失去焦点会执行onPause方法 隐藏会执行onStop方法 消费会执行onDestory方法
activity在隐藏状态下 显示到界面并获取焦点 onRestart onStart onResume方法
onSaveInstanceState方法用来保存用户数据有时在onPause前面执行有事再onPause后面执行 onRestoreInstanceState用来恢复用户数据 只有在非正常退出并执行了onPause方法(有可能是因为onSaveInstanceState方法有点关联吧 反正要android矿建掉 我们自己掉没戏)的时候在启动才会执行onRestoreInstanceState方法 在onStart后面onResume前面(有可能有事会在onResume后面吧不确定 )
非正常退出 : activity的onPause onStop 和onDestory方法不一等会被执行 如下
当activity onResume以后 结束该activity所在的进程 或在软件管理里对该软件执行强行停止 System.exit 抛了没捕获的异常后续的方法和回调方法都不会执行
即onPause onStop onDestory finalize都不会得到执行
当activity不是在onPause和onStop的状态下被kill掉的在启动时onCreate的bundle为null onRestoreInstanceState方法不会执行
当activity在onStop状态下按Home键在最近任务列表里干掉该APP时onDestory方法有可能调用有可能不掉用 finalize没有被调用
当activity在onStop或onPause状态下内存不足被系统杀掉听人说有可能会调用onDestory方法但是经我测试发现没有掉一次 有可能测试的次数还不狗多吧
当activity在onStop或onPause状态下内存不足被系统KILL掉 或进程在DM里KILL掉 在此启动该acitivy onCreate方法里的bundle不为null 并且会执行onRestoreInstanceState