0

API 11 を投稿するスマートフォンでアプリを正常に実行しています

ただし、エミュレーター (バージョン 2.2 または API 8) で実行すると、SQL lite 呼び出しに対して次のような期待が生じます。

Finalizing a Cursor that has not been deactivated or closed or database not closed error

これを修正する理由や方法はありますか?

ありがとう

4

1 に答える 1

0

カーソルの操作が終わったら、 を呼び出す必要がありますCursor.close()。閉じないでおくと、メモリ リークが発生します。例えば:

Cursor cursor = null;
try {
    cursor = getContentResolver().query(myUri, MY_PROJECTION, null, null, null);
    if (cursor != null && cursor.moveToFirst()) {
        // moar code
    }
} finally {
    if (cursor != null) {
        cursor.close();
    }
}
于 2013-07-09T01:20:02.583 に答える