使っContentProvider
ていますが、タイトルにメッセージが書いてあることがあります。理由は何ですか?カーソルを閉じる前にデータベースを閉じると、このメッセージが表示されることを読みました。また、使用する場合はカーソルを閉じる必要がないことも読みましたContentProvider
質問する
2867 次
2 に答える
5
ContentProviderを使用するときにデータベースを閉じる必要がないのは事実ですが、これはカーソルには当てはまりません。getContentResolver().query()
カーソルを返すを使用している必要があります。最終的には、返されたカーソルをで閉じる必要があり.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 に答える