在Android中关闭SQLiteDatabase时的最佳做法是什么?

时间:2015-08-18 10:44:45

标签: android

official docs中,您阅读:

  

public SQLiteDatabase getWritableDatabase()

     

...

     

成功打开后,数据库将被缓存,因此您可以在每次需要写入数据库时​​调用此方法。 (确保在不再需要数据库时调用close()。)

对于SQLiteOpenHelper,我为唯一的实例实现了单例模式,但SQLiteDatabase又如何呢? 缓存效果如何?

Android SQLite DB When to Close 我查看了这篇文章,但没有讨论缓存。

2 个答案:

答案 0 :(得分:0)

分别在每次操作之前和之后打开和关闭数据库 在不需要时,切勿将其打开。

你的口头禅应该是:打开它,使用它,关闭它 对每个数据库操作重复一次。

游标也一样。

答案 1 :(得分:0)

每次查询后我总是关闭我的SQLiteDatabase。例如,以下是我实现插入方法的方法:

public void insert(ContentValues valuesMap){
    SQLiteDatabase db = getWriteableDatabase();
    try{
       db.insert("ContactsTable", null, valuesMap);
    }catch(Exception e){
       // do someting...
    }finally{
       db.close()
    }
}