安卓开发基础篇——Anroid四大组件之Activity

来源:互联网 发布:任亮java视频 编辑:程序博客网 时间:2024/04/30 02:44

隔段时间回头巩固下基础,会有很大的提升,今天回顾下Activity生命周期

先上最经典的一张生命周期图:


一、Activity生命周期包括七个过程:

onCreate :Activity创建时第一个被调用;

onStart :Activity界面显示出来后被调用;

onResume:Acitivity与用户可以交互式时被调用;

onPause:Activity暂停时被调用;

onStop:Activity停滞时被调用;

onRestart:Activity从停滞状态又回到前台是调用;

onDestory:Acitivity销毁时被调用。

二、下面根据流程图看看这七个过程是如何走的:

1、Activity启动:先调用onCreate,再调用onStart,最后调用onResume,Activity进入运行状态;

2、Activity被同一应用的其他Activity覆盖或者手机锁屏:调用onPause进入暂停状态;

3、Activity从被覆盖状态回到前台或者手机解屏:调用onResme再次进入运行状态;

4、Activity转到其他应用的Activity界面或者用户按键home:自身退居后台,调用onPause,再调用onStop,进入停滞状态;

5、又退回到该Activity:调用onRestart,再调用onStart,最后调用onResume,进入运行状态;

6:暂停状态(第2步)和停滞状态(第4步),如果系统内存不够,Activity就被杀死,用户回退到Activity,等于重新启动Activity;

7;用户退出Activity,调用onPause,再调用onStop,最后调用onDestory,结束运行。

三、七个过程也就是七个调用方法,再实际开发中,那些功能再那个方法中实现,我想是大家最关心的,下面根据自己开发项目,谈谈实际应用,不恰当之处可以留言

1、Activity的theme主题设置、沉浸式状态栏、加载布局、数据初始化,接收Intent意图信息,放在onCreate中;

2、注册动态广播,注册放在onResume,注销放在onPause,为什么选择这两个方法,主要考虑到节省内存开支,Activity要进入运行状体,肯定调用onResume,所以在这一步实现动态广播的注册;不管Activity被销毁、暂停、还是停滞,必调用onPause,这一步立马注销掉广播;

3、应用退出自动保存数据放在onDestroy和onCreate中;

4、应用最小化暂停的操作,比如视频播放器,放在onStop和onStart中;

5、游戏的暂停开始,放在onPause和onResume中。

接下来几篇博客来回顾Service,着重讲解startService和bindService、IntentService

0 0
原创粉丝点击