android activity launchMode 四種方式的區別

1 SingleTop = FLAG_ACTIVITY_SINGLE_TOP
  當目標頁位於棧頂時不會創建新的對象,會觸發onNewIntent,不在棧頂時會創建新對象

2 SingleTask = FLAG_ACTIVITY_SINGLE_TOP + FLAG_ACTIVITY_CLEAR_TOP
  一個棧內只保留一個頁面的一個實例,並且會清除頂層棧,比如棧頂元素爲D,棧內依次爲A-〉B-〉C-〉D,這時訪問B,棧會變爲A-〉B,C和D被清除。

3 SingleInstant = FLAG_ACTIVITY_NEW_TASK
  會把訪問的頁放在新棧中,多個程序同時共享它,訪問時不會產生新實例,由於屬於不同的棧,有時退回操作在某種情況下是不會按預想的回退的

4 FLAG_ACTIVITY_REORDER_TO_FRONT
  如果當前棧中已存在該頁實例,則不會創建該頁實例,也不會清除它棧前的內容,比如棧內依次爲A-〉B-〉C-〉D,這時訪問B,棧會變爲A-〉C-〉D—〉B
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章