有几个关于如何实现自定义 AsyncTaskLoaders 的教程,但我发现没有一个教程讨论如何处理数据缓存 - 在所有这些教程中,数据只是加载和交付。
您能否给我一些提示,如何实现自定义 AsyncTaskLoader,它会立即返回缓存的数据版本,但同时请求更新数据并在它们到达时立即提供更新的版本?这甚至可以通过装载机实现,还是我必须使用另一种机制?
背景:我有一个 IntentService,它接受数据加载请求并以广播的形式传递结果。我有一个 UI (ListView) 应该显示来自 ArrayAdapter 或 CrusorAdapter 的数据。我需要一些“缓存”层来保持数据的最新已知版本立即显示,但一旦有新数据到达,就会发布它们的更新并重新显示它们。
虽然这可以通过使用哑 SQLite 数据库来实现即时版本和广播接收器来完成新数据更新,但我会优先考虑一些可以使这种“backgorund”数据加载机制透明的东西,就像 Loader 派生类恕我直言。