Loader加載器的一些理解

??Android3.0后提供了Loader機制,來處理數據加載的實現,你可以通過繼承AsyncTaskLoader或是CursorLoader來進行相應的數據加載操作。
??使用Loader加載主要涉及到4個類:

  • Loader
    定義了一個加載實現,比如啟動、暫停、取消等方法。
  • LoaderInfo
    指的是一個具體的加載過程,它持有一個加載實現Loader
  • LoaderManager
    管理著多個加載過程LoaderInfo。
  • LoaderManager.LoaderCallbacks
    提供與外部交互的回調方法。提供具體的加載類Loader和結果的處理。

??Activity或Fragment持有LoaderManager對象,通過調用方法:
initLoader(int id, Bundle args, LoaderManager.LoaderCallbacks<D> callback)
會創建一個LoaderInfo對象,保存在SparseArray集合中,并把callback賦值給LoaderInfo。
??當Activity或fragment調用onStart方法是,會調用LoaderManager的doStart方法,會遍歷所有的LoaderInfo執行其start方法,這時通過callback的onCreateLoader方法獲取具體的加載類Loader,執行Loader的加載操作。
??LoaderInfo本身是實現Loader.OnLoadCompleteListener接口的,當Loader執行完后通過OnLoadCompleteListener通知LoaderInfo,LoaderInfo再調用callback的onLoadComplete傳遞給外部處理結果數據。

Paste_Image.png

參考

http://www.jcodecraeer.com/a/anzhuokaifa/developer/2014/0325/1602.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容