Activity一共有以下四种launchMode:
1、standard 模式是默认的启动模式,不用为配置android:launchMode属性即可。
不管有没有已存在的实例,都生成新的实例。
这就是界面跳转再返回时会出现重复的界面的原因,没有设置launchMode属性,按照默认的模式启动了!
2、singleTop 为指定属性android:launchMode=”singleTop”,系统就会按照singleTop启动模式处理跳转行为。
如果发现有对应的Activity实例正位于栈顶,则重复利用,不再生成新的实例。
3、singleTask 如果发现有对应的Activity实例,则使此Activity实例之上的其他Activity实例统统出栈,使此Activity实例成为栈顶对象,显示到幕前。(常用)
这就解决了A界面跳转到B界面后再跳回到A界面时,出现二个A界面的情况发生,使Activity上始终只有一个A在栈内!
4、singleInstance 它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。
功能类似singleTask,但是可能在后台管理中看到的是二个界面,因为它开启了二个Task,一般不建议使用该模式