簡體   English   中英

在 onDestroy 之后 Loader 還活着

[英]Loader is still alive after onDestroy

因此,從 Loaders 的文檔中可以看出 LoaderManager 在 Activity 或 Fragment 被銷毀時銷毀加載器,但在屏幕旋轉時調用 onDestoy() 活動回調。 但是加載器仍然以某種方式保留它的數據。 任何人都可以解釋加載器何時被破壞以及何時保留數據。

如果您訪問 Android 開發人員文檔,您會發現此文本可以回答您的問題。

加載程序在單獨的線程上運行,以防止出現卡頓或無響應的 UI。 加載器通過在事件發生時提供回調方法來簡化線程管理。 加載器跨配置更改持久保存和緩存結果,以防止重復查詢。

來源: https : //developer.android.com/guide/components/loaders.html

與 FragmentManager 在配置更改期間自動重新創建其片段並使用 EditText 等具有唯一 ID 的小部件保存值相同,加載程序在配置更改期間保留其結果以防止重復查詢,這會浪費資源和時間。

Android 文檔指出 Loaders 為您節省了處理 Fragment 和 Activity 生命周期的工作:

如果您從另一個線程獲取數據,也許使用 AsyncTask,那么您負責通過各種活動或片段生命周期事件(例如 onDestroy() 和配置更改)管理線程和 UI 線程。

我猜 Loader API 是針對這種行為的(在旋轉屏幕時保留數據,暫停活動等。)

來源: https : //developer.android.com/guide/components/loaders.html

暫無
暫無

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

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