Android中-Loader載入器
Loader載入器:
Android3.0(API11推出的),用來進行非同步資料的載入,內部使用AsyncTask實現,通常用在資料庫的載入,隨後V4中推出了相容的版本
核心
- LoaderManger
- LoaderManger.LoaderCallBacks
- Loader
Loader
- 載入器的基類
- AsyncTaskLoader是Loader的一個子類,內部使用AsyncTask處理耗時操作
- CursorLoader是AsyncTaskLoader的一個子類,主要用來載入ContentProvider中的資料
LoaderManger
- 載入器的管理者
- 主要負責Loader的回撥管理,一個Activity或者Fragment中只有一個LoaderManger,一個LoaderManger可以管理多個Loader
- LoaderManger在初始化的時候,通過id去確定Loader,如果Loader不存在,那麼將建立一個新的Loader,如果已經存在,將重新連線已經存在的Loader
LoaderManger.LoaderCallBacks
- 載入器載入狀態的回撥函式
- onCreatLoader當Loader不存在時,我們呼叫初始化Loader時,需要返回一個Loader物件
- onLoadFinished 當Loader執行完非同步任務,獲取到資料之後的一個回撥,將資料返回來
- onLoaderReset 當Loader被重置時的呼叫,我們需要在這個回撥中做資源的釋放
AsyncTaskLoader
- 需要重寫loadInBackground,這個方法在後臺執行緒執行,處理耗時操作
- 我們需要在onStartLoading方法中主動呼叫forceLoade()方法強制進行資料的載入
下面通過一個栗子來解釋
Finish的時候處理資料物件Cursor
這裡可以實現一個聯絡人的模糊查詢
在onLoadFinish的時候將Cursor物件的資料設定到Adapter上
adapter.swapCursor(data);在onLoaderReset的時候,將資料置空
adapter.swapCursor(null);
自定義的CustomLoader extends AsyncTaskLoader
相關文章
- 惡意軟體開發——編寫第一個Loader載入器
- 探索Android檢視載入器LayoutInflaterAndroid
- Android 中LayoutInflater(佈局載入器)原始碼篇之rInflate方法Android原始碼
- 使用bundle-loader非同步載入react-router非同步React
- webpack loader—自己寫一個按需載入外掛Web
- 02-使用BIOS中斷 顯示字元/讀取磁碟 【實現boot中載入loader的功能】iOS字元boot
- Java常見知識點彙總(⑯)——類載入模型(class loader)Java模型
- webpack 入門之 loader 案例Web
- [Android元件化]- SPI載入Android元件化
- Android 9.0 Launcher Workspace載入Android
- Android 圖片載入框架Android框架
- 關於java中的類載入器Java
- Android 高效安全載入圖片Android
- Android優化--Fragment懶載入Android優化Fragment
- 利用vue-3d-loader同時載入多個3D模型Vue3D模型
- JVM中的類載入器子系統JVM
- webpack4入門筆記——loaderWeb筆記
- vue 快速入門 系列 —— vue loader 上Vue
- vue 快速入門 系列 —— vue loader 下Vue
- Android小知識-如何載入外部dex檔案中的類Android
- Android 使用ArrayAdapter 載入Bean資料AndroidAPTBean
- Android 非同步載入——AsyncTask詳談Android非同步
- Android 資源載入機制剖析Android
- 【Sass/SCSS】預載入器中的“軒轅劍”CSS
- java專案中的classpath和類載入器Java
- JVM入門--類載入器JVM
- 載入常量-從檔案中載入
- Android入門教程 | Fragment (載入方法與通訊)AndroidFragment
- (連載)Android 8.0 : Android虛擬機器之JNIAndroid虛擬機
- 類載入器(JVM)JVM
- [譯] 支援庫 27.1.0 中的 Loader
- Android 圖片載入庫Glide知其然知其所以然之載入AndroidIDE
- Android 9 Activity的載入和顯示Android
- Android HAL模組的載入過程Android
- Android native層動態載入so庫Android
- Android偽圖片載入進度效果Android
- Android fragment 標籤載入過程分析AndroidFragment
- Android 的 so 檔案載入機制Android
- Android 基礎之圖片載入(二)Android