簡體   English   中英

Android中FLAG_ACTIVITY_SINGLE_TOP的含義

[英]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”。

Javadoc 說:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM