设置activity的启动模式:在清单文件给 activity 设置 android:launchMode 属性
例如:android:launchMode=“singleTop”等
四种启动模式
1.standard(标准模式)
每次启动一个Activity实例时,都会创建一个新的实例。系统会在每次调用startActivity()
时创建新的实例。
使用场景:用于普通的activity
2.singleTop(栈顶复用模式)
singleTop也就是栈顶复用模式。就是说如果当前这个Activity实例处于栈顶的话,那么就直接复用这个activity,否则就创建实例。
(复用时调用onNewIntent,onResume方法,不再执行onCreate)
使用场景:登录页面、WXPayEntryActivity、WXEntryActivity 、推送通知栏
3.singleTask(栈内单例模式)
singleTask也就是栈内复用模式。该模式下的Activity在栈内只能有一个实例,如果在栈内的话就复用该activity,且把它上边的activity从栈内移除,让该activity处于栈顶。不在栈内的话就新建。
(复用时调用onNewIntent,onResume方法,不再执行onCreate)
使用场景:主页面MainActivity、WebView页面、扫一扫页面、
电商项目中的:购物界面,确认订单界面,付款界面
4.singleInstance(堆内单例模式)
activity的实例在一个单独的栈中,这个栈内也只有这一个activity实例。
使用场景:系统Launcher、锁屏键、来电显示等系统应用