通过在AndroidManifest.xml的<activity/>标签内指定android:launchMode
设置启动模式
1. standard默认模式
不在乎当前返回栈中是否存在当前Activity,每次创建新的实例。
2. singleTop
根据当前返回栈情况,栈顶是该activity时不创建新的实例,activity不处于栈顶时还是会创建新的实例。
3. singleTask
整个应用程序的上下文只存在唯一一个实例
每次启动Activity时在返回栈中检查是否存在该Activity实例,若存在则将其上所有Activity出栈,使该Activity处于栈顶。
注意:
此时所有出栈Activity都会执行onDestroy()方法被销毁,注意保存重要状态或内容。
4. singleInstance
用于解决不同应用程序使用同一个Activity情况,当该Activity启动时,启用一个新返回栈管理这个Activity,不同应用程序共用该返回栈,则不用每次创建新的实例。
注意:
此时返回键或finish()方法会首先将当前Activity出栈,栈顶会显示与其在同一返回栈的下一Activity,当前栈元素全部出栈后才会显示另一返回栈数据。
网友评论