![](/img/trans.png)
[英]Start new Activity with button with FLAG_ACTIVITY_SINGLE_TOP on Android
[英]The meaning of FLAG_ACTIVITY_SINGLE_TOP in Android
在意圖上,我可以將這樣的標志設置為FLAG_ACTIVITY_SINGLE_TOP
。 有人可以解釋一下它的含義,因為我只是不明白嗎? =)
如果活動的實例已經存在於當前任務的頂部,則系統通過調用其 onNewIntent() 方法將意圖路由到該實例,而不是創建活動的新實例。 Activity可以被實例化多次,每個實例可以屬於不同的任務,一個任務可以有多個實例(但前提是后棧頂的Activity不是該Activity的現有實例)。
例如,假設一個任務的后棧由根活動 A 和活動 B、C 和 D 在頂部(堆棧是 ABCD;D 在頂部)組成。 到達類型 D 的活動的意圖。如果 D 具有默認的“標准”啟動模式,則啟動 class 的新實例並且堆棧變為 ABCDD。 但是,如果 D 的啟動模式是“singleTop”,則 D 的現有實例通過 onNewIntent() 傳遞意圖,因為它位於堆棧頂部 - 堆棧仍然是 ABCD。 但是,如果針對 B 類型的活動的意圖到達,則將 B 的新實例添加到堆棧中,即使它的啟動模式是“singleTop”。
If set, the activity will not be launched if it is already running at the top of
the history stack.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.