其他零散学习-Android四大组件
来源:互联网 发布:淘宝网店开店培训 编辑:程序博客网 时间:2024/05/21 22:30
参考网址:一个帖子学会Android开发四大组件
安卓四大组件包括活动(Activity)、服务(Service)、广播(Broadcast)和内容提供者(Content Provider)。下面开始一一学习。
(1)活动的生命周期
Android的活动周期可以用下面的图表示:
对这幅图的具体的理解我们还要从下面三种情况出发:
①、当一个活动被创建:onCreate()->onStart()->onResume()
(所以我一开始认为onResume从字面上理解是在活动“重新开始”的时候才会执行,其实在活动一开始创建的时候就会执行)总之,活动要到用户交互层面必须要执行onResume()。
②、当一个活动中启动另一个活动
首先第一个活动启动,然后启动第二个活动:
第一个Activity onPause() -> 第二个Activity onCreate() -> 第二个Activity onStart() -> 第二个Activity onResume() -> 第一个Activity onStop()
然后返回到第一个Activity:
第二个Activity onPause() -> 第一个Activity onRestart() -> 第一个Activity onStart() -> 第一个Activity onResume() -> 第二个Activity onStop() -> 第二个Activity onDestroy()
总之另一个活动的启动是在第一个活动执行onPause()和onStop()之间。
③、当一个活动被销毁:
情况1:onPause() -> 活动销毁
情况2:onPause() -> onStop() ->活动销毁
情况3:onPause() -> onStop() -> onDestroy() -> 活动销毁
为什么有这三种情况呢?这是由系统的内存状态决定的。如果系统内存比较吃紧,可能不会等到执行onStop()或onDestroy()完才结束,而会提前销毁这个活动,以腾出空间给其他活动使用。但是不管怎样,活动销毁的时候onPause()是一定会执行的,所以开发者应该把保存一些重要的信息写在onPause()中
(2)活动的启动模式
这四种模式具体的启动方式详见活动的启动模式,但还要注意的是Intent的启动方式还受到flag的影响(通过intent.addFlags(flag)添加)。比如添加了FLAG_ACTIVITY_CLEAR_TOP,那么在启动这个活动的时候,如果这个活动在栈中已经存在,就会把在它之上的活动全部销毁(有点像singleTop的启动方式)。关于其他的flag的解释请看Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释
(未完待续)
- 其他零散学习-Android四大组件
- Android四大组件学习
- Android学习笔记--四大组件
- Android学习之四大组件
- Android四大组件深入学习
- 【android学习】四大组件-Service
- 【android学习】四大组件-Activity
- Android四大组件-学习记录
- 【android学习】四大组件-Activity
- 【android学习】四大组件-Service
- Android学习笔记:<一>Android 四大组件
- Android学习笔记2:Android四大组件
- Android 零散学习笔记
- Android学习笔记--四大组件之Activity
- Android学习笔记--四大组件之Service
- Android学习笔记--四大组件之BroadcastReceiver
- Android 四大组件学习之Activity生命周期
- Android开发学习之四大组件
- 【机房合作】总结
- Redis 安装
- Oracle 分区表的新增、修改、删除、合并,普通表转分区表方法
- string常量及字符数组的长度函数、赋值、拼接、附加
- 解决git diff的工具
- 其他零散学习-Android四大组件
- OpenAttestation对VM的证实
- HTML+CSS慕课网学习总结(二)
- 使用throw抛出异常 c++
- Spring面试题和答案
- 大数运算模板
- android listview图片错位原理及解决方法
- Java_Ant详解
- SDCC 2015架构专场:一线互联网公司论道架构实践(PPT全回顾)