本系列文章:前端
爲了更方便地查詢,你能夠去查閱 PDF 版本的圖表備忘錄。android
ViewModel
的生命週期很是簡單:它只有 onCleared
這一個回調。可是,這個函數的做用域在 activity 和 fragment 中是有區別的:ios
ViewModel 做用域git
注意,初始化是在獲取 ViewModel
時進行的,一般在 onCreate
方法中完成。github
半透明的 activity 有半透明(一般是透明的)的背景,因此用戶仍然能夠看到該 activity 下面是什麼。架構
當一個 activity 的主題設置了 android:windowIsTranslucent
屬性時,生命週期稍有變化:背景後面的 activity 不會被中止,只會被暫停,因此能夠繼續接收 UI 的更新:ide
常規 activity 和半透明 activity 之間的比較svg
此外,當返回到一個任務時,這兩個 activity 都會被恢復,重走 onRestart
和 onStart
方法,但只有半透明的 activity 重走 onResume
方法:函數
按下 home 鍵,回到帶有半透明 activity 的應用程序
處理任務和回退棧的推薦方法主要是:別處理 — 你應該採用默認行爲。要了解更多細節,請閱讀 Ian Lake 的關於這個主題的文章:任務和回退棧。
若是你真的須要使用 SINGLE_TOP
,下圖展示了它的行爲模式:
Single Top 行爲模式
方便比較,下面是 singleTask
模式看起來的樣子(可是你可能不該該用到它):
Single Task
注意:若是你用了 Jetpack 中 導航架構組件(Navigation Architecture Component),你會從它支持 Single Top 和自動合成回退棧中受益。
若是發現譯文存在錯誤或其餘須要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可得到相應獎勵積分。文章開頭的 本文永久連接 即爲本文在 GitHub 上的 MarkDown 連接。
掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 Android、iOS、前端、後端、區塊鏈、產品、設計、人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃、官方微博、知乎專欄。