SingleSTask
SingleTop基础上
在AndroidManifest.xml中
改为android:launchMode="SingleSTask"
运行
启动MainActivity,只要是SingTask,没有变化,
启动BAty,实例id发生变化
后退一下,实例id发生变化
启动BAty,实例id发生变化
再启动MainActivity,实例id发生变化,而且是最开始启动的id
就是说此时后退的话会直接退出,因为任务栈里只有一个activity实例。
换个说法:
此时任务栈有个id是123,实例abc
启动BAty,此时任务栈有两个activity,一个MainActivity.一个是BActivity
再启动MainActivity,会把BActivity弹回到第一个activity实例
按退出键就会直接退出

SingleInstance
在AndroidManifest.xml中
改为android:launchMode="SingleInstance"
运行
启动MainActivity,只要是singleInstance,没有变化
启动BAty,TaskID发生变化,实例id发生变化
就是说singleInstance只存在一个独立的任务栈里面只有一个activity
再启动MainActivity(两ID变化),再启动BAty(TaskID变化)
是相互切换的效果

标签:安卓开发

你的评论