谁能告诉我 AsyncTaskLoader 和 AsyncQueryHandler 之间的区别?
我想在我的应用程序中使用 AsynTaskLoader.. 我的应用程序中现有的一个是 AsyncQueryHandler..
我认为 AsyncTaskLoader 是 AsyncQueryHandler 的替代品是对的吗?
纠正我如果我错了..我对android很陌生。
谁能告诉我 AsyncTaskLoader 和 AsyncQueryHandler 之间的区别?
我想在我的应用程序中使用 AsynTaskLoader.. 我的应用程序中现有的一个是 AsyncQueryHandler..
我认为 AsyncTaskLoader 是 AsyncQueryHandler 的替代品是对的吗?
纠正我如果我错了..我对android很陌生。
如果您阅读文档:
一个帮助类,可帮助更轻松地处理异步 ContentResolver 查询。
提供 AsyncTask 来完成工作的抽象加载器。有关详细信息,请参阅 Loader 和 LoaderManager。
所以他们是非常不同的。AsyncQueryHandler
用于异步查询/插入到 aContentResolver
中,AsyncTaskLoader
它是新Loader
机制(在 API 级别 11 中引入)的实现,它对AsyncTask
任何类型的后台处理(HTTP、SQL 等)使用执行操作。
你也应该看看CursorLoader
,也许这是你需要的。
我想说,如果你只是想从 a 中读取,ContentResolver
你应该使用 a CursorLoader
,但如果你想在其中插入、删除等ContentResolver
,也许最好使用AsyncQueryHandler
.
CursorLoader
是 的子类AsyncTaskLoader
。而 LoaderManager 和 CursorLoader 仅提供了一种访问 ContentResolvers 上异步调用 query() 操作结果的方法。其他 ContentResolver 操作仍然是同步的。
但是,AsyncQueryHandler
异步调用所有 ContentResolver 调用。不仅仅是查询,还有插入、删除、更新。