作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
再次向您问好。我在拍照时遇到一个小问题。我有一个按钮可以调用相机,成功拍照,然后返回到我的报名表。我唯一的问题是按下按钮调用相机时发生的数据库泄漏。我的代码看起来有点像这样。
public void takephoto(){
Intent in = new
Intent(this, takephoto.class);
startActivityForResult(in,1);
}
以下是如何打开数据库的 fragment :
public journalDbAdapter open() throws SQLException {
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
return this;
}
public void close() {
mDbHelper.close();
}
我跑:
mDbHelper = new journalDbAdapter(this);
mDbHelper.open();
在我调用相机的 Activity 或类的 onCreate 中。我没有在 mDbHelper.close() 中编码;任何地方都不确定我是否应该在何时何地。我想我宁愿在拍摄一张图像时将其保持打开状态。
日志猫:
08-17 21:33:37.582: ERROR/Database(18297): java.lang.IllegalStateException: /data/data/com.growjournal.beta/databases/grower SQLiteDatabase created and never closed08-17 21:33:37.582: ERROR/Database(18297): at android.database.sqlite.SQLiteDatabase.(SQLiteDatabase.java:1785)
如果这个问题从未得到解决,我可能会面临哪些问题?
一切似乎都工作正常,但我绝对希望避免在众多 Android 设备中出现任何问题。
最佳答案
您收到此错误是因为相机应用程序占用了大量内存,并且很可能导致您的应用程序关闭而不仅仅是暂停。您应该在 onPause 中保存记录并关闭数据库,然后在 onResume 和/或 onCreate 中重新打开它。
关于java - 拍照时数据库泄漏。 SQLiteDatabase 创建且从未关闭。安卓、Java、SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508432/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!