Activity 的四种 launchMode
Activity 一共有以下四种 launchMode:
- standard
- singleTop
- singleTask
- singleInstance
我们可以在 AndroidManifest.xml 配置的 android:launchMode 属性为以上四种之一即可。 下面我们结合实例一一介绍这四种 lanchMode:
1.standard
standard 模式是默认的启动模式,不用为配置 android:launchMode 属性即可,当然也可以指定值为 standard。standard 启动模式,不管有没有已存在的实例,都生成新的实例。
2.singleTop
我们在上面的基础上为指定属性 android:launchMode="singleTop",系统就会按照 singleTop 启动模式处理跳转行为。跳转时系统会先在栈结构中寻找是否有一个 Activity 实例正位于栈顶,如果有则不再生成新的,而是直接使用。如果系统发现存在有 Activity 实例,但不是位于栈顶,重新生成一个实例。 这就是 singleTop 启动模式,如果发现有对应的 Activity 实例正位于栈顶,则重复利用,不再生成新的实例。
3.singleTask
如果发现有对应的 Activity 实例,则使此 Activity 实例之上的其他 Activity 实例统统出栈,使此 Activity 实例成为栈顶对象,显示到幕前。
4.singleInstance
这种启动模式比较特殊,因为它会启用一个新的栈结构,将 Acitvity 放置于这个新的栈结构中,并保证不再有其他 Activity 实例进入。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Android 开发中何时使用多进程
下一篇: ANR 是什么?怎样避免和解决 ANR
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论