Android开发艺术探索学习笔记1——Avtivity生命周期和启动模式
来源:互联网 发布:mac怎么删除app 编辑:程序博客网 时间:2024/05/20 07:52
Android开发艺术探索学习笔记——Avtivity生命周期和启动模式
Activity生命周期
正常情况下的生命周期:
Activity启动中的核心对象:
1、 Instrumentation:一个辅助类。作用:1、创建application2、管 理生命周期 3、启动activity
2、 ActivityThread:这是一个类而非线程,里面的main方法是主线程的入口。
3、 ApplicationThread:一个实现了Binder的子类,存在的目的是和AMS通信。
异常情况下的生命周期:
1、 旋转屏幕
系统会自动调用onSaveInstanceState和onRestoreInstanceState
2、 内存不足
销毁顺序:后台Activity à可见但非前台Activityà前台Activity
Activity的启动模式
四种启动模式:
Standard、singleTop、singleTask、SingleInstance。
重点是关注栈和的关系。
Standard启动:ABCD,启动standard的D为ABCDD
singleTop启动:ABCD,启动SingleTop的D为ABCD,顶上的若有则不重建。
SingleTask启动:ABCD,启动SingleTask的A
1、 为A寻找想要的stack,没有就创建
android:taskAffinity="任务栈名"
2、有就clearTop,把A之前的清掉
SingleInstance启动:是加强版本SingleTask,具备了SingleTask的所有属性外,它极为排外,有它在则之后的所有Activity都不会新建,除非被销毁。
前台任务栈和后台任务栈:
通过android:taskAffinity="新包名"来开启新的任务栈,然后后台就会有前台任务栈和后台任务栈。
前台任务栈:AB 后台任务栈为CD;当打开D的时候任务栈会合并为ABC。
Activity的Flags
设置启动模式:
FLAG_ACTIVITY_NEW_TASK:
singleTask模式。
FLAG_ACTIVITY_SINGLE_TOP:
SingleTop模式。
FLAG_ACTIVITY_CLEAR_TOP:
具有clearTop属性的启动。
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:
将activity排除出栈。
InterFilter的匹配:
匹配的标签有:action、category、data
action:
一个过滤规则中可以有多个action,只要任何一个action相同即可匹配成功。
category:
category可以没有,但是一旦有,就需要每个都匹配才行
data:
由两部分组成:
mimeType(资源类型)和URI(全局资源标识符)
- Android开发艺术探索学习笔记1——Avtivity生命周期和启动模式
- 《Android 开发艺术探索》随手笔记——第一章Activity生命周期和启动模式
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
- 《Android开发艺术探索》笔记 — Activity的生命周期和启动模式
- 《Android开发艺术探索》之学习笔记(一)Activity的生命周期和启动模式
- Android开发艺术探索笔记(一) Activity的生命周期和启动模式(1)
- 开发艺术探索——生命周期和启动模式
- 《Android开发艺术探索》读书笔记——Activity的生命周期和启动模式
- Android开发艺术探索--Activity生命周期和启动模式
- 安卓艺术开发探索-----学习笔记(生命周期和启动模式)
- 《Android开发艺术探索》笔记之Activity的生命周期和启动模式
- Android开发艺术探索阅读笔记之一:Activity的生命周期和启动模式
- 《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式
- 【读书笔记】【Android 开发艺术探索】第1章 Activity 的生命周期和启动模式
- 开发艺术探索--Activity生命周期和启动模式
- 《Android开发艺术探索》阅读笔记(一)、activity生命周期 及 启动模式
- 《Android开发艺术探索》读书笔记--part1 Activity的生命周期和启动模式
- 第一章Activity的生命周期和启动模式(Android开发艺术探索)
- python os.system
- python-循环
- GAN/Generative Adversarial Networks之种草
- 插入算法
- pandas 学习 —— 逻辑表达式与布尔索引
- Android开发艺术探索学习笔记1——Avtivity生命周期和启动模式
- linux之nm命令
- 详解个性化推荐五大最常用算法
- 计算机网络考点汇集
- JVM模拟面
- 马士兵-Hadoop环境的搭建
- jQuery对象转换及jQuery选择器
- 正则表达式
- 【Web开发】Servlet&Jsp