android生命周期总结

关于activity生命周期转换记住一点
同时只有一个activity处于onResume状态,可能有多个activity处于onstop状态,因为在activitymanagerservice中有一个成员mResumeActivity,而且只有前一个activity执行onPause之后,下一个activity的onResume流程才会执行

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的流程。




猜你喜欢

转载自blog.csdn.net/xuning2516/article/details/79942701