首页 > 其他 > 详细

Activity的生命周期

时间:2016-04-29 15:11:37      阅读:231      评论:0      收藏:0      [点我收藏+]

首先看一张经典的Activity生命周期的图

技术分享

从图中可以看出Activity的生命周期的流程,其中具体的几个过程是:

1.Activity启动时会先后调用onCreate,onStart和onResume方法.

2.当Activity上面有一层透明的Activity时会先后调用当前Activity的onPause方法和新Activity的onCreate,onStart和onResume方法.

3.当Activity上面覆盖了一层不透明的Activity时会先后调用当前Activity的onPause,onStop方法和新Activity的onCreate,onStart,onResume方法.

4.当锁屏时调用当前的Activity的onPause,onStop方法.

5.按返回键时调用当前Activity的onPause,onStop,onDestroy方法.

6.按Home键时调用当前Activity的onPause,onStop方法

7.按Home键后再把进程杀死Activity不调用任何生命周期方法(也就是不调用onDestory方法).

8.当Activity上面有一个AlertDialog时,Activity不调用任何方法.


从整个生命周期来说onCreate和onDestroy是配对的,一个创建一个销毁,并且只可能被调用一次;onStart和onStop是配对的,一个是用户可见时调用,一个用户不可见时调用,可以多次调用;onResume和onPause是配对的,一个是当前的Activity位于前台时调用,一个是当前的Activity不位于前台时调用;

下面是一个测试Activity生命周期的Demo:

这个Demo有三个类MainActivity,StandardActivity,TransparentActivity.

MainActivity是主界面,里面有三个Button可以跳转到StandardActivity、TransparentActivity和打开一个对话框.

TransparentActivity是一个透明的Activity.

StandardActivity是一个不透明的Activity.

三个Activity都重写了所有的生命周期方法及onWindowFocusChanged

测试步骤及结果:

1.启动程序

技术分享

2.从主界面中启动TransparentActivity

技术分享

3.在TransparentActivity返回到主界面

技术分享

4.从主界面中启动StandardActivity

技术分享

5.从StandardActivity返回到主界面

技术分享

6.从主界面打开对话框

技术分享

7.关闭对话框

(同上)

8.在主界面按返回键

技术分享

9.在主界面按HOME键

技术分享

10.在进程杀死(不调用任何生命周期方法)

11.在StandardActivity按HOME键

技术分享

12.在TransparentActivity按HOME键

技术分享

13.在主界面按HOME键后重新进入主界面

技术分享

14.在TransparentActivity按HOME键后重新进入TransparentActivity

技术分享


总结:onResume和onPause方法是在Activity是前台进程时调用;onStart和onStop是在Activity可视进程变成后台进程时调用;onRestart是在Activity未被销毁的情况下Activity从后台进程变成可视进程时调用;

Activity的生命周期

原文:http://blog.csdn.net/qq_33291700/article/details/51245428

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!