case1:act A start act B
- A.onPause();
- B.launchActivity;
- A.onStop();
可以看出在这个case里面,先会调用A.onPause()
,然后才是B.launchActivity
,所以在实际中为了能让B快速启动,那么我们就不应该在A的onPause里做过多的事情,否则会拖慢B的启动,用户体验不好。
分解的更细点就是A.onPause -> B.onCreate -> B.onStart -> B.onResume -> A.onStop
;
接case1,B按了back键
B.onPause -> A.onRestart -> A.onStart -> A.onResume -> B.onStop -> B.onDestroy
;
再接case1,A按了back键
A.onPause -> A.onStop -> A.onDestroy
;
case4: act直接调finish方法
- 先是onPause;
- 最后直接是onDestroy,没有onStop啥事;
可以看出直接调finish的时候,恰好是onPause被调,onStop不会被调的情况,这一点发现还是和笔者以往的认识有些出入,哈哈。。。