カーソルに関して 2 つの関連する問題があり、どのカーソルが問題を引き起こしているのかを特定するのに苦労しています。
まず、「事前の close() なしで終了したカーソル」に関するすべての LogCat メッセージをノックアウトしようとしています。
メッセージが出力される理由と、問題の解決方法を知っています。私が理解できないのは、閉じられていない最後のカーソルです。私はコードを何度も書きましたが、私が知る限り、すべてそうです。
2 つ目は、onResume の問題で、「古いデータ: カーソルが閉じられました。再クエリできません」という例外が発生します。スタック トレースはすべて android.xx と com.android の内部にあるため、どのカーソルが問題を引き起こしているかがわかります。(予感はありますが、確証はありません)
OSにこれらについてもっと教えてもらうために突くことができる設定/フラグはありますか?カーソルの詳細 (関連付けられているテーブル、それに設定されている列など)、カーソル変数名、カーソルが割り当てられた/宣言されたコード行など。
または、デバッガーで多くのコードとカーソルをステップ実行するのに行き詰まっていますか、それとも私が考えていなかったこれを選別する別の方法がありますか?
編集:
`StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectAll()
.penaltyLog()
.penaltyDeath()
.build());`
閉じられていないカーソルでクラッシュ/終了を強制します。質問経由