安卓开发基础篇——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
- 安卓开发基础篇——Anroid四大组件之Activity
- 安卓开发基础篇——Anroid四大组件之Service
- 安卓开发基础篇——Anroid四大组件之Broadcast Receiver
- 01安卓基础之四大组件一:activity
- Android基础—四大组件之Activity
- Android App开发从零开始之基础篇—四大组件(一)—Activity初体验
- Android App开发从零开始之基础篇—四大组件(一)—Activity再探
- 安卓四大组件之Activity
- 安卓四大核心组件之Activity
- 安卓四大组件 之 Activity
- 安卓四大组件之Activity学习
- 安卓四大组件之Activity
- 安卓四大组件之Activity
- 安卓四大核心组件之Activity
- 安卓四大组件之 Activity
- 安卓四大组件之Activity-生命周期
- 安卓四大组件之activity
- 安卓四大组件之activity
- Android中的Widget开发
- 关于认证,基本认证和摘要认证(翻译tr069 3.4.4 和3.4.5)
- Mysql批量修改表字段为大写。
- 不能用ajax请求下载文件
- vue vuex vue-router vue-resource 简单的搭建一个 vue 小项目
- 安卓开发基础篇——Anroid四大组件之Activity
- iOS指纹登录
- 微信小程序的编程模式
- Jibx 处理XML
- Nginx配置文件(nginx.conf)配置详解
- 你对Context的了解
- [bigdata-028]apache nifi 从mysql导出数据到hbase
- java POI设置Excel单元格字体
- 关于list集合的小总结