您的位置:首页 > 移动开发 > Android开发

Activity生命周期解析

2016-06-21 23:08 330 查看


一般来说,Activity生命周期分为以上7个过程,他们的运行大致如下:

1)首次启动activity时,先调用onCreate(),再调用onStart(),然后调用onResume(),activity进入运行状态,展示到界面上,相应用户操作;

2)当前activity被其他activity覆盖其上(theme为dialog形式的activity),会调用onPause();

3)当前activity由(2)状态转到前台,会调用onResume();

4)当前activity上展示dialog,不会执行生命周期的方法;(若dialog为全屏?)

5)当前activity转到新的activity界面或按HOME键回到Launcher界面或被锁屏,会调用onPause(),onStop();

6)当前activity由(5)状态转到前台,会调用onRestart(),onStart(),onResume();

7)用户退出当前activity,会调用onPause(),onStop(),onDestroy(),结束当前activity;

除了以上一些基础的生命周期方法,在实际开发中,还有以下一些常用的方法:

1、onWindowFocusChanged():当前activity获得/失去焦点时被调用;

1)在activity被创建时,此方法在onResume()之后被调用;

2)在展示dialog时,也会调用此方法;

3)在其他activity覆盖其上或转到其他activity或按HOME键,此方法在onPause()之后,onStop()之前被调用;

4)在锁屏时,此方法在onStop()之后被调用;

5)当前activity由(3)(4)两种状态转到前台,此方法在onResume()之后被调用;

使用场景:有时,我们需要程序初始化时,获取view的尺寸,这时在onCreate中无法获取,因为此时window对象还未创建完成;这时我们就可以在onWindowFocusChanged()中获取;

2、onSaveInstanceState()

3、onRestoreInstanceState()

参考文章:http://blog.csdn.net/liuhe688/article/details/6733407
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android基础