在Android里,有4种Activity的启动模式并分别介绍下:
- standard
- singleTop
- singleTask
- singleInstance
AndroidManifest.xml配置android:launchMode属性
1.standard:
默认启动模式.
每次都会创建一个实例,每个任务栈里面都可以使用。
2.singleTop:
系统会按照singleTop启动模式处理跳转行为.跳转时系统会先在栈结构寻找是否有一个Activity实例正位于栈顶,如果有则不在生成新的,而是直接使用。如果系统发现存在有Activity实例,但不是位于栈顶,重新生成一个实例.
singleTop启动模式就是这样,如果发现对应的Activity实例正处于栈顶,反复创建也就只能创建一个实例(反复利用不生成新的实例).反之,此时不处于栈顶就创建新的实例。
3.singleTask:
如果发现有对应的Acitivty实例,则使此Activity实例之上的Activity实例统统退出栈,使此Acitivity实例成为栈顶对象,显示到屏幕前。
4.singleInstance:
这钟启动模式比较特殊,因为它会启用一个新的栈结构,将Activity放置于新的栈结构中,并保证不再有其他Activity实例进入.
只存在一个独立的任务栈里面,一个任务栈就只包括它一个。
待续.......
1.这些启动模式在哪里地方能用到呢?
2.文字表述比较抽象,画图演示可好?
3.启动模式背后的秘密?
时间: 2024-10-12 20:22:13