大家好,我是 android 新手并使用绿色 DAO 来管理数据库,但我经常得到一个数据库未关闭异常,因为我在 Application onTeriminate() 中这样做,我在整个应用程序中只维护数据库的单个连接,但在某些情况下,当我的应用程序转到后台并恢复数据库连接对象变为空,我通过在使用之前检查对象的空性来处理问题,但现在我经常收到异常
android.database.sqlite.DatabaseObjectNotClosedException:应用程序没有关闭此处打开的游标或数据库对象
请帮助我如何处理这个
提前致谢
lang.IllegalStateException: 没有数据库锁!01-03 09:39:18.688: E/System(3063): 在 android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2090) 01-03 09:39:18.688: E/System(3063): 在android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2182) 01-03 09:39:18.688: E/System(3063): 在 android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2178 ) 01-03 09:39:18.688: E/System(3063): 在 android.util.LruCache.trimToSize(LruCache.java:197) 01-03 09:39:18.688: E/System(3063): 在 android .util.LruCache.evictAll(LruCache.java:285) 01-03 09:39:18.688: E/System(3063): 在 android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2143) 01-03 09 :39:18.688:E / System(3063):在android.database.sqlite.SQLiteDatabase。
关闭连接代码:
@Override
public void onTerminate() {
// TODO Auto-generated method stub
super.onTerminate();
snail_mail_db.close();
snail_mail_database_helper_obj.close();
}