本文为本人手打,如需转载,请标明出处。
activity作为android的四大组件之一,也是初学者接触最多的一个组件,其提供一个界面,和用户的很多交互,如文字图片的查看、拨打电话、写评论等等。一个完整的app一般会有几个activity以松耦合关系存在。其中一个“main”属性的activity将最先展示在用户眼前。
每个activity可以通过intent去启动其他的activity,一个新的activity启动,老的activity就会停止。activity放到栈“back stack”上,新的activity启动,就会被放到栈顶,获取用户焦点。back stack符合“后进先出”的原则,所以当完成一个activity,点击back的时候,当前的activity会被弹出栈,被销毁,然后前一个activity恢复。
下面主要说下activity的生命周期。
第一次启动activity的时候会调用这个activity的onCreate方法。
当activity处于可见状态的时候调用onStart方法
当activity可以获取用户焦点的时候调用onResume方法
当activity没有被销毁,重新调用的时候调用这个activity的onRestart方法
当activity被遮挡住的时候会调用onPause方法
当activity处于不可见状态的时候调用onStop方法
当activity被销毁的时候调用onDestroy方法
---------------------------------下面是代码亲测----------------------------------
1.activity打开(初始打开):onCreate->onStart->onResume
2.activity关闭(销毁):onPause->onStop->onDestroy
3.activity按home键:onPause->onStop
4.按home键之后再进入activity:onRestart->onStart->onResume
5.打开其他activity:onPause->onCreate(new)->onStart(new)->onResume(new)->onStop
6.锁屏:onPause->onStop
7.解锁:onRestart->onStart->onResume
8.执行finish方法:onPause->onStop->onDestroy