Activity一般有4種啓動模式,如果需要使用其他的啓動模式,請在activity節點加入配置
即可,加入android:lanuchMode。
1.standard(標準)
- 默認的啓動模式,每次都是創建一個新的activity啓動.
- 當任務棧中存在1 2 3個activity時,打開3號的activity會創建一個新的3號activity
配置代碼如下
android:launchMode="standard"
2.singleTop(頂部單一)
- 如果要啓動的activity已經在頂部存在,不會創建新的實例,而是調用onNewIntent()方法
3.singleTask(棧中唯一)
- 只存在不同的activity的一個實例
- 當創建第二個activity和一個實例相同時,清空任務棧。
4.singleInstance
activity在單獨的任務棧中,當存在activity爲這種啓動模式的時候,創造一個單獨的任務棧存放這個activity
5.可以使用intent達到這種意圖
Intent intent=new Intent(); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//啓動的activity在新的任務棧中
重要的FLag
1.FLAG_ACTIVITY_NEW_TASK
2.FLAG_ACTIVITY_SINGLE_TOP
3.FLAG_ACTIVITY_CLEAR_TASK 相當於singleTask
4.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS以這種模式拿A啓動B時,A會被銷燬。