【发布时间】:2011-03-31 07:43:31
【问题描述】:
再次问候。我在拍照时遇到了一个小问题。我有一个按钮,可以调用相机,成功拍照,然后返回我的输入表单。我唯一的问题是按下按钮调用相机时发生的数据库泄漏。我的代码看起来有点像这样。
public void takephoto(){
Intent in = new
Intent(this, takephoto.class);
startActivityForResult(in,1);
}
这是一个关于如何打开数据库的 sn-p:
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 或 Class 的 onCreate 中。我没有在 mDbHelper.close(); 中编码任何地方都不确定我是否应该何时何地。我想我宁愿在捕捉一张图像时让它保持打开状态。
Logcat:
08-17 21:33:37.582:错误/数据库(18297):java.lang.IllegalStateException:/data/data/com.growjournal.beta/databases/grower SQLiteDatabase 创建且从未关闭 08-17 21:33:37.582:错误/数据库(18297):在 android.database.sqlite.SQLiteDatabase.(SQLiteDatabase.java:1785)如果这个问题从未得到解决,我可能会面临哪些问题?
一切似乎都运行良好,但我很想避免在众多安卓设备中出现任何问题。
【问题讨论】:
-
你能显示更多代码吗,比如任何与数据库相关的代码?
-
我当然可以。您能否具体说明一下您可能要寻找的东西? ...代码很多
-
请在您实际创建/打开数据库 (mDb) 的位置发布代码。
-
我假设来自我的适配器,在这里。
标签: java android sqlite memory-leaks