时间紧迫,抓紧写几句~改天再详细整理。
并没有对启动模式系统的进行系统的研究,先把一些常用的地方陈列一遍。
Activity四种启动模式
可以在清单文件配置:
android:launchMode="standard" 默认模式,不多说了
singleTop 如果存在于栈顶,则不重复创建 而是调用它的onNewIntent()方法
singleTask若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。
singleInstance 独立运行与一个栈中,这个task只有这一个activity 该activity使用startActivity()创建的activity也不会在这个栈中存在。
android:finishOnTaskLaunch="true" 设置了这个属性的activity 在按下home键后再次打开程序 对应activity会被销毁
//intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//将B设置为singleTask的启动模式,B前面的Activity将被弹出栈销毁,所以B点击返回会返回到A
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);//将会清空栈
android:taskAffinity="m.n"指定该activity到 m.n 这个栈
先到这,吃饭要紧。
待续