android艺术开发探索第一章 activity 生命周期解析

1.onStart和onStop是从是否可见(是否可以看见)角度来回调的,onResume和onPause是从是否在前台(是否可点击)角度来回调的。

2.一个activity启动另一个activity时一定先运行第一个activity的onPause方法然后运行另一个activity的onCreate,onStart,onResume方法。

论证方式,1.可以通过打log看两个activity的生命周期流程

                  2.通过源码在ActivityStack的resumeTopActivityInnerLocked方法中可以看出先调用onPause方法,在调用另一个activity的启动方法,详细见开发艺术探索第五页

android艺术开发探索第一章 activity 生命周期解析

所以根据以上流程,onPause方法不能做耗时操作,会影响后一个activity的启动。

3.内存不足或者其他意外情况导致activity终止运行并且有机会重新显示的情况下,系统会调用onSaveInstanceState方法保存当前状态。然后通过onRestoreInstanceState(或者oncreate也行,但需要判空)来恢复数据。