Android 是否将LoaderManager用于详图视图?

Android 是否将LoaderManager用于详图视图?,android,Android,我正在构建一个(主细节)视图,它有两个片段:a ListFragment和更详细的片段视图。单击任何项目 在列表中,将显示详细视图。对于ListFragment,我使用了 LoaderManager带有游标加载程序,用于管理我的查询(我已经 遵循Alex Lockwood在 主题) 在显示“详细信息”视图时(通过单击列表 视图),我需要查询同一个内容提供者,并获得一行 信息。我不确定如何最好地处理这件事 因为我基本上返回一行,并且可以立即释放光标: 我应该直接使用getContentResol

我正在构建一个(主细节)视图,它有两个片段:a ListFragment和更详细的片段视图。单击任何项目 在列表中,将显示详细视图。对于ListFragment,我使用了 LoaderManager带有游标加载程序,用于管理我的查询(我已经 遵循Alex Lockwood在 主题)

在显示“详细信息”视图时(通过单击列表 视图),我需要查询同一个内容提供者,并获得一行 信息。我不确定如何最好地处理这件事

因为我基本上返回一行,并且可以立即释放光标:

  • 我应该直接使用getContentResolver().query()并直接使用游标吗
  • 是否使用其他LoaderManager管理光标和结果
使用LoaderManager

在列表视图中创建加载程序的原因与在详细信息视图中创建加载程序的原因相同。任何繁重的操作都应该放在后台线程上,以防止UI无响应。数据库交互也不例外。看起来您的数据可能会立即加载,但实际上您直接在UI线程上做了一些繁重的工作,这可能会在UI中产生不必要的性能

黄油计划,哟


此外,LoaderManager保留您的结果还为您带来了额外的好处。因此,当您旋转并重新加载数据时,它将加载缓存的结果,而不是您自己保留所有数据。

谢谢-我喜欢LoaderManager存储结果的事实-这是一个明确的好处。但是,由于此模式本质上使用ContentProvider作为缓存数据存储,因此回迁应该很快。这就是为什么我有点太累了,做任何事情都比直接查询更夸张。“罗马蒂,我不会考虑防止UI慢化。”你可能会认为100Ms是一个很小的时间,但在谷歌的头脑中,这是一个不可接受的暂停时间的UI。此外,如果在查看详细信息项目时,提供商中的数据发生了更改,则游标加载程序(前提是您正确配置了内容提供商)将自动重新加载数据,而无需您进行任何其他编码。如何使用加载程序来查看详细信息?单个项目没有任何
AdapterView
实现。