天天看點

android loaders,從Android P(API 28)開始,Android Studio Loaders已被棄用?

我是Android的新手,我已經完成了一些Android應用程式開發課程,現在我正在嘗試應用我學到的東西.我選擇了一個新聞應用程式.它将從5-10源提取新聞,并在recyclerview中顯示它們.

我認識到我使用的課程材料已經過時了.我已經使用AsynctaskLoader來處理網際網路連接配接問題,但現在在官方的Android文檔中它說“從Android P(API 28)開始已經棄用了加載程式.在處理Activity和Fragment生命周期時處理加載資料的推薦選項是使用ViewModels和LiveData的組合.“

我的問題是我應該将我的代碼轉換為符合ViewModels和LiveData,還是Asynctask會處理我的任務(或任何其他建議)?正如我所提到的,我隻想從幾個源中提取新聞資料并在應用程式中顯示它們.看來我不需要資料存儲功能.但是,現在我添加了兩個新聞來源,該應用似乎加載了一些新聞資料.這種延遲是否與使用加載器有關?使用viewmodels會加快新聞加載任務(特别是當有很多新聞源時)?

解決方法:

裝載程式很好,因為它能夠處理生命周期,但它沒有LiveData和ViewModel那麼高效.如果你關心性能,速度和最新,使用Android架構元件(LiveData,ViewModel),你也不必堅持舊的服務系統,你可以編寫一個簡單的AsyncTask并用ViewModel包裝它LiveData.它像魔術一樣,比裝載機更好.有關如何在LiveData和ViewModel中包裝AsyncTask的資訊,請通路https://medium.com/androiddevelopers/lifecycle-aware-data-loading-with-android-architecture-components-f95484159de4

标簽:android,android-asynctask,android-viewmodel,loader

來源: https://codeday.me/bug/20190823/1697230.html