Nab*_*bin 18 android android-asynctask android-cursorloader android-sqlite
我为什么要使用AsyncTaskLoader,何时应该更喜欢CursorLoader,反之亦然?
在官方页面中,显示了App-listing示例,它使用AsyncTaskLoader而不是CursorLoader.
这两者有哪些优缺点?我在某处读到了CursorLoader没有关注内容更改(在sqlite中).
谢谢!
Tej*_*jas 23
AsyncTaskLoader是一个抽象的Loader,它提供了一个AsyncTask来完成工作.所以你通常会扩展AsyncTaskLoader以创建你自己的自定义加载器.使用AsyncTask和使用AsyncTaskloader之间的关键区别在于配置更改(例如方向更改)不会影响AsyncTaskLoader及其进程,因为AsyncTaskLoader有自己的生命周期;而配置更改会对AsyncTask产生负面影响,因为它连接到主机活动的生命周期.
CursorLoader是一个查询ContentResolver并返回Cursor的加载器.该类以标准方式实现Loader协议,用于查询游标.它只是一个AsyncTaskLoader.
简而言之,当您必须通过扩展AsyncTaskLoader <D>来创建自定义加载器时,可以使用AsyncTaskLoader,其中D ="anything_you_want_to_load".当你必须实现一个加载Cursor的加载器时(通常在你从数据库加载数据时使用),你可以使用CursorLoader.
| 归档时间: |
|
| 查看次数: |
5669 次 |
| 最近记录: |