Activity的4种launchMode
16lz
2021-01-24
转自http://blog.csdn.net/noodies/article/details/8562452
也许是我的英文理解能力问题,Google关于launchMode的描述总是让我困惑,所以我就分别测试了这几种模式,按照我的理解重新整理一下文字
A - standard:默认模式,总是创建新的A实例,同一个任务可以有多个A的实例
Task堆栈:A1->A2->A3->A4B - singleTop:类似于standard,不过,当堆栈顶部是B的实例时,不会创建新的B实例(A1创建B1, 这时B1可以创建A2,但不能创建B的新实例,A2可以创建新的B实例)
Task堆栈:A1->B1->A2->B2
C - singleTask:B1在新的task创建C的实例,C可以在自己的task中创建B2和A2,A2启动C时,不会创建新的C实例,而是直接转到C的当前实例,并且,C返回时,直接返回启动C的B1,而不是转入C之前的A2
Task堆栈:A1->B1
\
C->B2->A2
D - singleInstance:类似于singleTask,但新的task只能有D一个实例,D启动的B2会在原来的task创建。B2无法返回D,而是返回到B1,A1退出后,可以看到D还在。
Task堆栈:A1-B1 B2->A2
\ /
D
更多相关文章
- android中的启动模式
- Android启动模式总结
- android:系统服务、非绑定/绑定式服务的简单实例
- Android中网络框架简单封装的实例方法
- android 如何彻底关闭应用
- Android(安卓)Q 深色模式(Dark Mode)源码解析
- Android中moveTo、lineTo、quadTo、cubicTo、arcTo详解(实例)[转]
- Android面试题目之(七) AsyncTask的原理是什么?
- Windows系统下配置Android(安卓)NDK开发环境