AsyncTaskLoader与Asyncqueryhandler

时间:2013-10-29 12:14:48

标签: android

有人可以告诉我AsyncTaskLoader和AsyncQueryHandler之间的区别吗?

我想在我的应用程序中使用AsynTaskLoader ..我的应用程序中现有的是AsyncQueryHandler ..

我是否正确AsyncTaskLoader是AsyncQueryHandler的替代品?

纠正我如果我错了..我对android很新。

2 个答案:

答案 0 :(得分:7)

如果您阅读文档:

AsyncQueryHandler

  

帮助处理异步ContentResolver查询的助手类。

AsyncTaskLoader

  

Abstract Loader,提供AsyncTask来完成工作。有关详细信息,请参阅Loader和LoaderManager。

所以他们非常不同。 AsyncQueryHandler用于异步查询/插入ContentResolverAsyncTaskLoader它是新Loader机制(在API级别11中引入)的实现,它使用了AsyncTask对任何类型的后台处理(HTTP,SQL等)都做了。

你也应该看看CursorLoader,也许这就是你需要的。

我想说如果你只想阅读ContentResolver,你应该使用CursorLoader,但是如果你想插入,删除等ContentResolver,也许它最好使用AsyncQueryHandler

答案 1 :(得分:1)

CursorLoaderAsyncTaskLoader的子类。和LoaderManager& CursorLoader仅提供访问ContentResolvers上异步调用的query()操作结果的方法。其他ContentResolver操作仍然是同步的。

但是,AsyncQueryHandler异步调用所有ContentResolver调用。不仅是查询,还包括插入,删除,更新。