簡體   English   中英

Android onResume()在onPause()之前調用?

[英]Android onResume() called before onPause()?

我對Android Activity的生命周期有一個重大疑問。在正常英語術語中,一旦你完成了Pause,就會完成Resume.But在Activity OnResume的生命周期中,甚至在onPause之前就已經被調用了。這是第一次。是什么這背后的原因?

誰能告訴我為什么它的結構如此?

謝謝。

在通用英語術語中,“恢復”表示某些內容在暫停后再次開始交互時,

但在Android術語中,它表示當Activity處於前台並且用戶開始為活動提供輸入時。 它可能是第一次出現在前景中,甚至在它被暫停之后。 onResume()只是暗示User已經開始與活動進行交互。

onStart()onResume()是兩個不同的術語。 當Activity變得對用戶可見時,將調用onStart() 當活動到達前台並且用戶開始與之交互時,將調用onResume()

我會舉個例子,

假設您有一些帶有一些移動對象的活動,這里我將描述在不同階段執行的操作,

onStart()-此處活動開始,而不是動畫。

onResume()-這里的對象開始動畫。

onPause()-這里的對象停止動畫,Activity仍然在運行。

OnStop-此處活動停止。

希望它有助於理解。

參考此圖片:

活動生命周期

onStart()之后將調用onResume()。 我認為你注意到的是onResume()。 詳細描述了活動生命周期:

OnResume:當活動在處於暫停狀態后開始與用戶交互時,將調用此方法。 調用此方法時,活動將移動到活動堆棧的頂部,並且它正在接收用戶輸入 如果活動在活動開始接受用戶輸入后需要執行任何任務,則活動可以覆蓋此方法。

您可以看到活動生命周期並確定android的onPause()和onResume()概念是不同的。 我只回答下面的問題..你可以閱讀

誰能告訴我為什么它的結構如此?

文檔

的onResume()

當活動開始與用戶交互時調用。 此時,您的活動位於活動堆棧的頂部,用戶輸入轉到活動堆棧。 始終跟隨onPause()。

這意味着如果你想要啟動某些東西(例如,當這個活動處於焦點並接收用戶交互時顯示第二個計數的計時器),你可以在onResume()中啟動它。 當此活動成為焦點時,onResume()是我們的回調。 無論此活動是剛剛創建還是暫停后恢復,都應該調用它

ya在onStart()之后很好,但在英語方面,簡歷會在暫停后被稱為對嗎? 為什么它以這樣的方式設計出於任何原因?

我認為在這種情況下你不應該采用字面意義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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