【问题标题】:StrictMode is throwing DatabaseObjectNotClosedException when using CursorLoader and leaving the current activity使用 CursorLoader 并离开当前活动时,StrictMode 抛出 DatabaseObjectNotClosedException
【发布时间】:2011-10-06 15:29:41
【问题描述】:

我正在使用一个非常基本的示例,在该示例中,我使用来自我的内容提供商的 uri 创建了一个 CursorLoader 并填充了一个地图。一切都很顺利,但是当我离开那个活动时,我得到了一个由 StrictMode 抛出的DatabaseObjectNotClosedException。我知道CursorLoader 处理光标,所以我不能自己关闭它。那么为什么会这样呢?

使用 ListFragment 时不会出现此问题,我猜这是因为在 onLoaderReset() 中我使用 adapter.swapCursor(null)。但是我应该在onLoaderReset() 方法中的地图片段(或我没有列表的任何其他类型的片段)中做什么?目前,我没有做任何事情,因为我没有对返回的光标的引用。

【问题讨论】:

  • 我在使用 ListFragment 时也会遇到异常。我真的不明白为什么会这样。
  • 这是与 Android 兼容库还是原生 Honeycomb 实现有关?
  • Android 兼容库会发生这种情况

标签: android android-strictmode


【解决方案1】:

ACL 的修订版 4 修复了这些问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多