有人可以告诉我AsyncTaskLoader和AsyncQueryHandler之间的区别吗?
我想在我的应用程序中使用AsynTaskLoader ..我的应用程序中现有的是AsyncQueryHandler ..
我是否正确AsyncTaskLoader是AsyncQueryHandler的替代品?
纠正我如果我错了..我对android很新。
答案 0 :(得分:7)
如果您阅读文档:
帮助处理异步ContentResolver查询的助手类。
Abstract Loader,提供AsyncTask来完成工作。有关详细信息,请参阅Loader和LoaderManager。
所以他们非常不同。 AsyncQueryHandler
用于异步查询/插入ContentResolver
,AsyncTaskLoader
它是新Loader
机制(在API级别11中引入)的实现,它使用了AsyncTask
对任何类型的后台处理(HTTP,SQL等)都做了。
你也应该看看CursorLoader
,也许这就是你需要的。
我想说如果你只想阅读ContentResolver
,你应该使用CursorLoader
,但是如果你想插入,删除等ContentResolver
,也许它最好使用AsyncQueryHandler
。
答案 1 :(得分:1)
CursorLoader
是AsyncTaskLoader
的子类。和LoaderManager& CursorLoader仅提供访问ContentResolvers上异步调用的query()操作结果的方法。其他ContentResolver操作仍然是同步的。
但是,AsyncQueryHandler
异步调用所有ContentResolver调用。不仅是查询,还包括插入,删除,更新。