安卓学习——四大组建之Activity生命周期
来源:互联网 发布:社会化网络的意义 编辑:程序博客网 时间:2024/05/20 11:47
安卓四大组建之Activity生命周期
安卓四大组建是每个安卓开发学习者所必须学习、熟识的,只有了解了安卓的四大组建,才能够更好的进行安卓开发。
安卓四大组建中的Activity生命周期也是非常重要的,一个想要开发出一个好的安卓APP的安卓开发学习者都必须要了解Activity生命周期,只有了解了Activity生命周期,才能更好的解决页面间跳转等问题。
Activity的生命周期被以下函数控制着:
- onCreate(Bundle icicle); 当第一次调用一个Activity就会执行onCreate方法
- onStart(); 当Activity处于可见状态的时候就会调用onStart方法
- onRestart(); 当Activity没有被销毁的时候重新调用这个Activity就会调用
- onResume(); 当Activity可以得到用户焦点的时候就会调用onResume方法
- onPause(); 当Activity被遮挡住的时候就会调用onPause方法
- onStop(); 当Activity处于不可见状态的时候就会调用onStop方法
- onDestroy(); 当Activity被销毁时会调用onDestory方法
在深入了解Activity生命周期之前,我们需要先了解Activity的四种状态:
- Runing 当Activity位于栈顶时,此时正好处于屏幕最前方,此时处于运行状态
- Paused 当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互,此时处于暂停状态
- Stoped 当Activity被其他Activity完全遮挡,此时此Activity对用户不可见,此时处于停止状态
- Killed 当Activity被系统杀死回收或者没有被启动,此时处于销毁状态
在不同的状态会按顺序执行不同的函数,下面看一张经典的生命周期流程图
让我们用文字详细的分析这张图:
- 当我们启动一个Activity时,系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。
- 当前Activity被其他Activity覆盖其上或被锁屏时,系统会调用onPause方法,Activity进入暂停状态。
- 当前Activity由被覆盖状态回到前台或解锁屏时,系统会调用onResume方法,Activity再次进入运行状态。
- 当前Activity转到新的Activity界面或按Home键回到主屏,自身退居后台时,系统会先调用onPause方法,然后调用onStop方法,Activity进入停止状态。
- 用户后退回到此Activity时,系统会先调用onRestart方法,然后调用onStart方法,最后调用onResume方法,Activity再次进入运行状态。
- 当前Activity处于被覆盖状态或者后台不可见状态时,系统内存不足,杀死当前Activity,而后用户退回当前Activity:再次调用onCreate方法、onStart方法、onResume方法,Activity进入运行状态。
- 用户退出当前Activity时,系统先调用onPause方法,然后调用onStop方法,最后调用onDestory方法,Activity进入销毁状态。
不管学什么都一样,基础是很重要的,所以对于基础的学习不能懈怠,要认真学习,才能做的更好!
以上便是Activity生命周期的基础内容,希望对大家有所帮助,本人为初学者,文笔有限,有错漏欢迎提出,谢谢!
阅读全文
1 0
- 安卓学习——四大组建之Activity生命周期
- 安卓四大组件之Activity-生命周期
- 安卓学习——四大基本组建
- 安卓四大组件之Activity学习
- 四大组件之Activity——生命周期
- 安卓学习笔记之activity生命周期
- 安卓四大组建之ContentPrvider之通讯录
- Android 四大组件学习之Activity生命周期
- 四大组件 — Activity生命周期
- 安卓四大组件之一Activity的生命周期
- 安卓四大组件之Activity
- 安卓四大核心组件之Activity
- 安卓四大组件 之 Activity
- 安卓四大组件之Activity
- 安卓四大组件之Activity
- 安卓四大控件之Activity详解
- 安卓四大核心组件之Activity
- 安卓四大组件之 Activity
- desktop位置不可用,桌面文件丢失,重启无效
- 查询外网IP地址的方法
- 微信小程序二维码如何生成?
- ubuntu16.0.4设置固定ip
- 内联函数及4种显示转化
- 安卓学习——四大组建之Activity生命周期
- TraceView工具(Device Monitor)介绍
- 解析json文件
- [POJ 1279]Art Gallery:半平面交
- Apache ActiveMQ实战(2)-集群
- 『ORACLE』 PLSQL删除数据示例(11g)
- Ceph修改OSD和Monitor的网络
- mysql提高(索引二十四)
- SpringBoot之他乡遇故知