如何避免DatabaseObjectNotClosedException

jen*_*fer 2 android

我们如何避免这种异常?

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477): Releasing statement in a finalizer.    Please ensure that you explicitly call close() on your cursor: SELECT * FROM test

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477):     at android.database.sqlite.SQLiteCompiledSql.(SQLiteCompiledSql.java:62)

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477):     at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:80)

01-19 17:16:16.024: WARN/SQLiteCompiledSql(477):     at android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:46)

chi*_*dev 5

我认为出现此错误是因为您没有关闭数据库.始终关闭sqlitehelper类

编辑:

你必须在你的类中实现这样的扩展SQLiteOpenHelper类:

@Override
public synchronized void close() {
    if(db != null){
        db.close();
    super.close();
    }   
}
Run Code Online (Sandbox Code Playgroud)