典型情况下的生命周期分析:
1,oncreate:
表示Activity正在被创建,在这个方法中我们可以做一些初始化的操作,如:setContentView()加载布局
资源,activity所需要的数据的初始化。
2,onRestart:
当Activity按下home键或者启动另一个Activity时,返回这个Activity时会调用此方法,这个方法是在
onPanse()、onStop()执行,在回到这个Activity时
3,onStart():
这是表示Activity是可见的,只是后台的可见,用户不能进行一些操作,跟onResume相比,
onResume也是可见,不过是用户的可见
4,onResume():
用户可见状态,用户可以进行一些操作
5,onPanse():
Activity正在停止,正常情况下接着会执行onstop,特殊情况下,用户又快速的回到当前页面,那么
onResume()被调用。在这个生命周期里我们可以做一些简单的数据储存,但不能做耗时操作,因为会
影响下一个Activity启动的onResume();
6,onStop():
Activity即将停止,可以做一些稍微重量级的回收,但不能太耗时。
7,onDestory():
Activity即将被销毁,做一些回收工作跟一些资源的释放。
![]()
Activity的启动过程的源码相当复杂,涉及Instrumentation,ActivityThread和
ActivityManagerService(下面简称AMS)。简单理解,启动Activity的请求会由Instrumentation来处
理,然后他通过Binder向AMS发请求,AMS内部维护着一个ActivityStack并负责栈内的Activity的状态同
步,AMS通过ActivityThread去同步Activity的状态从而完成生命周期方法的调用。