FAQ_21 sqlite exception: close() was never explicitly called
经常与数据库打交道的 frend 们,估计肯定遇到这样的错误提示:
close() was never explicitly called on database ××××××××××××××××××
这种错误提示,不会导致程序崩溃,至少我没有遇到。
这个错误来源: framworks/base/core/java/android/database/sqlite/SQLiteDatabase.java
@Override protected void finalize() { if (isOpen()) { Log.e(TAG,"close() was never explicitly called on database '" + mPath + "' ",mStackTrace); closeClosable(); onAllReferencesReleased(); } } 我的代码报了这个错误,我感觉很郁闷,因为我的确是 close 了!!
DatabaseHelper dbHelper = new DatabaseHelper(context);
if (db != null && db.isOpen()) {
最后发现,在代码里面,有:
if(isDate) { //************ return; } 所以须将 close 放到这个判断的 return 之前一份,因为 isDate == true,进入这个语句,程序就不会往下执行,那麽还没有 close,就会包错。
这样就没有错误了。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby – connect:SSL_connect returned = 1 errno = 0 sta
- ruby-on-rails – 无法从Rails控制器呈现JavaScript
- blazeds通道、端点配置
- c – 为void类型部分特化parmeter pack参数的语法是什么?
- ruby-on-rails – 使用apache passenger 3.0.7运行我的rail
- kettle组件-输入
- 第六章:位置匹配
- .net – 部署使用Oracle.DataAccess的Web服务器会导致各种程
- 为何说setState方法是异步的?
- ruby-on-rails – 当你可以使用常规的Ruby类方法时,为什么要