android生命周期总结

关于activity生命周期转换记住一点

同时只有一个activity处于onResume状态,可能有多个activity处于onstop状态,因为在activitymanagerservice中有一个成员mResumeActivity,而且只有前一个activity执行onPause之后,下一个activity的onResume流程才会执行

 

android生命周期总结_第1张图片

 

android生命周期总结_第2张图片

1 几个生命周期的特点

onCreate和onDestroy完成activity的创建和销毁

onCreate完成布局资源创建,比如setContentView

onDestroy可以用来玩完成资源回收,onDestroy之后activity会被垃圾回收

onStart-onStop表示可见生命周期

onResume-onPause表示前台声明周期,意味可以和用户交互

2 两个activity切换,onPause和后一个activity的onResume存在前后关系,只有前一个activity的onPause执行之后才会执行后一个activity的onResume方法。

所以典型的start activity切换场景是这样的

onPause(A) - onCreate(B) - onStart(B) - onResume(B)

而back键返回activity的切换场景是这样的

onPause(A)- onResume(B)

这个查看ActivityStack源码,在resumetopactivity之前会看当前resumeactivity的状态,然后执行startPauseActivity将当前的activity执行onPause,然后pause完成后回调ActivityManagerService的activityPaused,然后ActivityStack才会继续执行resumetopactivity的流程。

 

 

 

 

你可能感兴趣的:(Android源码剖析)