Activity加載模式

Activity加載模式的不同(eg:通知欄中提示信息)


Task:(類似棧)保存開啓的Activity

1、開啓本身(關閉的次數爲開啓的次數)

默認模式(standard

   android:launchMode="standard">

2singleTop  棧頂單實例模式(關閉次數只有一次)

android:launchMode="singleTop">

1目標Activity不存在時,創建一個新的Activity,加載到當前Task

2目標Activity已經存在,並且處於棧頂,開啓時就不會創建新的Activity對象

3若目標Activity已經存在,但不在棧頂(開啓另一個Activity),則會創建新的Activity對象

3singleTask(棧中單實例)

android:launchMode="singleTask"

1目標Activity不存在時,創建一個新的Activity,加載到當前Task

2 目標Activity已經存在,並且處於棧頂,開啓時就不會創建新的Activity對象

3 若目標Activity已經存在,但不在棧頂(開啓另一個Activity)會把目標Activity之上的所有Activity都清除,剩下本身,只退出一次

4singleInstance (全局單實例)

android:launchMode="singleInstance"

1目標Activity不存在時,創建一個新的Activity存放在新的Task

獲得Task位置getTaskIdea();

2 目標Activity已經存在,並且處於棧頂,開啓時就不會創建新的Activity對象,把目標Activity所在的Task移動到前臺


Intent標誌位flags

1、 Intent.FLAG_ACTIVITY_SINGLE_TOP(singleTop)

2、 Intent.FLAG_ACTIVITY_CLEAR_TOP  (singleTask)

目標Activity存在時,但是處於棧中,關閉時將本身關閉(移除),再重新創建一個新的Activity

A---àB(設置意圖標誌位)---àA

3、 Intent.FLAG_ACTIVITY_NEW_TASK

在服務廣播接受者中要跳轉到某個Activity界面時,必須設置意圖標誌位Intent.FLAG_ACTIVITY_NEW_TASK


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章