在Manifest文件中可以配置Activity的启动模式,如
<activity android:name="MainActivity" android:launchMode="singleTask">
下面分别介绍下Activity的四种启动模式:
- standard:标准模式,每次startActivity都创建一个新的实例。
默认选项,适用于大部分场景; - singleTask: 检查当前activity栈中是否存在要启动的activity,存在的话将其上的activity出栈,使其移到栈顶,不存在的话则创建一个新的实例入栈。
适用于程序主Activity; - singleTop: 检查栈顶activity是不是要启动的activity,是的话直接使用,否则创建一个新的实例。
适用于点击通知进入并进行展示的Activity; - singleInstance: 为要启动的activity创建一个单独的栈,并保证其他activity无法进入该栈。
不常用,适用于应用不在前台时启动的弹窗Activity,按返回后不进入该应用