Android 开发艺术探索笔记-Activity启动方式
来源:互联网 发布:wubi安装ubuntu的缺点 编辑:程序博客网 时间:2024/06/02 00:38
从大二开始学习Android已经有一两年了,中间断断续续半年玩游戏半年学习的循环,意志力还是差
如今大四出来找实习发现自身Android基础知识还是太薄弱,故决定强化基础知识
这篇博客开始记录阅读《Android 开发艺术探索笔记》这本书的一些笔记,也是锻炼自身的语言组织能力(非常差劲的语言组织能力。。)
第一次写博客,排版啥的就先忽略把。。。
在AndroidManifest.xml中使用android:launchMode为Activity组件设置启动方式
Activity有4 种启动方式
standard:
标准启动方式,也是Activity的默认启动方式,打开activity时,都会创建一个新的Acitivity实例放入栈顶。
singleTop:
栈顶复用模式,如果要启动的Activity在任务栈中已经有一个实例并且在栈顶,则不会创建新的实例,而是调用实例的onNewIntent方法,如果没有,则行为和标准方式一样,创建新实例放入栈顶
singleTask:
栈内复用模式,分为两个情况
1,要启动的Acitivty的想要的任务栈(taskAffinity属性)已存在,则会先看这个栈中是否已存在这个Activity的实例,如果存在则会把在这个实例上方的Acitivty移除,成为栈顶Acitivity,并调用onNewIntent方法,如果不存在,则新建实例放入栈顶。
定义3个Activity:A,B,C,B和C的LaunchMode都为singleTask且设置taskAffinity属性相同都为"com.sanron.task1"
启动A后,在B中点击按钮启动C,再在C中点击按钮启动B,使用adb shell dumpsys activity查看栈信息
可以看到此时有两个任务栈,一个是以包名com.sanron.example为名称,含有A,一个以taskAffinity属性com.sanron.task1为名称,含有B
再看Log,调用了B的onNewIntent
2,想要的任务栈不存在,则新建一个任务栈,并创建新实例放入这个新任务栈
- Android 开发艺术探索笔记-Activity启动方式
- Android开发艺术探索笔记一:Activity的启动模式
- Activity的启动过程(Android开发艺术探索学习笔记)
- Android开发艺术探索笔记 第一章Activity
- Android开发艺术探索笔记之Activity
- Android 开发艺术探索 学习笔记 Activity
- 《Android开发艺术探索》第一章Activity的生命周期和启动方式小节
- 《Android开发艺术探索》笔记之Activity的生命周期和启动模式
- Android开发艺术探索(研读笔记)——02-Activity的启动模式
- 《Android 开发艺术探索》随手笔记——第一章Activity生命周期和启动模式
- 《Android开发艺术探索》之学习笔记(一)Activity的生命周期和启动模式
- 《Android开发艺术探索》笔记 — Activity的生命周期和启动模式
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
- Android开发艺术探索笔记(2)- Activity的启动模式
- Android开发艺术探索笔记(一) Activity的生命周期和启动模式(1)
- 《Android开发艺术探索》阅读笔记(一)、activity生命周期 及 启动模式
- android开发艺术探索 学习笔记(二) Activity的启动模式
- Android开发艺术探索阅读笔记之一:Activity的生命周期和启动模式
- knapsack problems(背包问题)
- 一张图搞懂Android触摸事件
- ios 面试题 第一弹
- Java基础09网络编程
- C#中用SharpZipLib.dll实现压缩解压 顺序压缩
- Android 开发艺术探索笔记-Activity启动方式
- js将数组转化成json
- 阿里编码规范
- Multiple dex files define与app:transformClassesWithDexForDebug
- Bootstrap--BootstrapDialog
- javascript基础(二级菜单练习)(四十六)
- 我的辅导培训项目说明
- Professor Hendryx vs. Big Coal
- dba 存储过程基本文档