学习笔记1: Activity 生命周期
来源:互联网 发布:newbee丶mu 知乎 编辑:程序博客网 时间:2024/05/24 01:47
主要分为 正常型 和 异常型
1.正常型生命周期
7个生命周期,话不多说:
onCreate() -- 生命周期的第一个方法,主要是 setContentView 加载界面资源 和 初始化一些数据
onStart() -- Activity这时已经可见,但是在后台,无法与用户交互 (如果有2个Activity,在上面的为前台,在下面的为后台。如果前台是透明属性,则下面的Activity就有可不可见之分了)
onResume() -- Activity 这时已经可见,并且在前台开始活动
onPause() -- Activity停止。1.正常情况下,onStop会接着执行。 2.特殊情况下,会再执行onRessume。 这个方法一般做一些存储数据,停止动画等工作,但是不能太耗时。因为系统在调用新Activity里的onResume前会先执行旧Activity里的onPause方法
onStop() -- 做一些稍微重量级的回收工作,不能太耗时 (打开一个新的Activity时,一般会执行 onPause --> onStop。但是如果新的Activity是透明主题,则不会调用onStop)
onDestory() -- 最后一个回调,做一些回收工作和最终的资源释放
onRestart() -- 当Activity从不可见 --> 可见时,会触发这个方法。(比如用户按了home键或者从别的Activity跳回到此界面)
上个图:
问题1:onStart,onResume,onPause,onStop的不同?
答:onStart 和 onStop 是根据Activity 是不是可见去调用。 onResume 和 onPause 是根据Activity 是不是在前台去调用
问题2:Activity A 跳到 Activity B,A.onPause() 和 B.onResume() 的执行顺序?
答: 先执行A.onPause() 再执行 B.onResume()
2.异常型生命周期
a.系统配置变动时(如坚屏切横屏)
可以看看这篇文章: Activity 的生命周期 以及横屏竖屏切换时 Activity 的状态变化
总结:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。(执行这个方法,必须设置sdk version 大于等于13.0)
b.内存不足被杀死时
先杀优先级低的。(前台正在交互的 > 可见但非前台(比如弹出一个对话框,但是后面的界面还是看得到) > 后台的 )在此过程中,会调用onSaveInstanceState() 和 onRestoreInstanceState()。
我们可以通过bundle来保存和使用值
传对象:
Bundle bundle = new Bundle();
bundle.putSerializable("user", user);
传值
Bundle bundle = new Bundle();
bundle.putString("sex" , "女汉子");
bundle.putDouble("height" , 180.12);
bundle.putSerializable("user", user);
传值
Bundle bundle = new Bundle();
bundle.putString("sex" , "女汉子");
bundle.putDouble("height" , 180.12);
0 0
- 学习笔记1: Activity 生命周期
- android学习笔记 -- Activity生命周期
- android Activity 生命周期 学习笔记
- android学习笔记--activity生命周期
- 【学习笔记】 Activity/Fragment 生命周期
- android学习笔记(5)Activity生命周期学习
- 2011年Android Activity生命周期学习笔记
- android学习笔记13--------------Activity生命周期
- Android学习笔记 - Activity生命周期篇
- Android学习笔记--Activity的生命周期
- android学习笔记之Activity生命周期
- Android学习笔记 - Activity生命周期篇
- Android学习笔记(4):Activity生命周期
- (Android学习笔记)Activity的生命周期
- Android学习笔记4 Activity的生命周期
- Android学习笔记——Activity生命周期
- 安卓学习笔记之activity生命周期
- android学习笔记之Activity生命周期详解
- 打怪升级
- oracle相关操作
- Android之获取手机上已安装的所有的应用程序的信息,并判断是否安装了某应用程序(系统程序或非系统应用程序判断)
- 单例设计模式的两种方法
- 20151226问题总结
- 学习笔记1: Activity 生命周期
- 设置progressbar的背景颜色
- Kosaraju算法---求解强连通分量
- Looper, Handler,Message关系解析
- BS架构ERP系统开发全系列之白金教程-主界面设计
- 努力让自己拥有一个初学者的心态,永远充满好奇、求知欲和赞叹
- 那一年,我们二十七八岁
- 数据库系统概论复习总结3 --- 第二章关系数据库标准语言SQL
- IIS——服务开启及本地发布网站图解(一)