跟踪SqLite打开游标泄漏的最好方法是什么?



在大型android代码块的某个地方是开放的游标泄漏。超过800个光标打开。有谁知道准确的方法吗?有什么方法可以查询光标的数量吗?或者有任何方法可以通过配置文件工具看到它发生在哪里?怎么做呢?大型代码块不希望更改大量代码来修复此问题。

我没有看到任何地方来检查在sqliteddatabase类打开游标的数量。

在你的onCreate方法中试试

StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                 .detectLeakedSqlLiteObjects()
                 .detectLeakedClosableObjects()
                 .penaltyLog()
                 .penaltyDeath()
                 .build());

当存在游标泄漏时,应用程序将崩溃并产生堆栈跟踪:-)

StrictMode是一个开发者工具,可以检测你可能正在做的事情并引起你的注意,这样你就可以解决它们

http://developer.android.com/reference/android/os/StrictMode.html

相关内容

最新更新