为每个数据库事务操作打开和关闭数据库是否是一种很好的做法?让我更清楚你。每次使用后打开和关闭sqlite数据库
我有两个方法,如
public SQLiteDatabase getDatabase() {
if (database == null || !database.isOpen()) {
database = getWritableDatabase();
}
return database;
}
public void closeDatabase() {
if (database != null && database.isOpen()) {
database.close();
}
}
每次
所以,当我更新/插入或删除,我打开数据库,并关闭它。
public void insert(...) {
getDatabase().insert(...);
closeDatabase();
}
public void update(...) {
getDatabase().update(...);
closeDatabase();
}
public void delete(...) {
getDatabase().delete(...);
closeDatabase();
}
记住,所有这些方法都被扩展SQLiteOpenHelper
类DatabaseHelper
内部,有一个全局变量private SQLiteDatabase database
,我会更频繁地执行这些操作(插入/更新/删除)。
所以我的问题是Is it a good practice to open and close database for every transaction? if not, what is the good way? Where and When I have to close my database?
可能重复:http://stackoverflow.com/questions/6608498/best-place-to-close-database-connection –
我总是让数据库只为严格必要的时间来开从中消耗我的数据或修改数据。之后立即关闭它。 –