3

我使用ContentProvider但有时我会收到标题中写的信息。是什么原因?我读到如果我在关闭游标之前关闭数据库,则会出现此消息。我还读到,如果我使用,我不应该注意关闭光标ContentProvider

链接:在 ContentProvider 中关闭数据库

4

2 回答 2

5

确实,使用 ContentProvider 时不必关闭数据库,但这不适用于游标。您必须使用getContentResolver().query()which 返回游标。最终,您将不得不用 关闭返回的光标.close(),否则您将收到该讨厌的消息。

于 2013-03-26T21:17:34.660 回答
0

使用如下代码在严格模式下运行

         StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
             .detectDiskReads()
             .detectDiskWrites()
             .detectNetwork()   // or .detectAll() for all detectable problems
             .penaltyLog()
             .build());
     StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
             .detectLeakedSqlLiteObjects()
             .detectLeakedClosableObjects()
             .penaltyLog()
             .penaltyDeath()
             .build());

这开始产生可关闭的东西等。因此有助于调试错误产生的位置。

来源:https ://developer.android.com/reference/android/os/StrictMode.html

于 2017-02-02T14:20:09.343 回答