getWritableDatabase()缓存如何工作?

时间:2014-08-13 07:22:57

标签: android sqlite caching

我理解当调用getWritableDatabase()时,则根据doc:

  

成功打开后,数据库将被缓存,因此您可以在每次需要写入数据库时​​调用此方法。 (确保在不再需要数据库时调用close()。)错误权限或完整磁盘等错误可能导致此方法失败,但如果问题得到解决,将来的尝试可能会成功。

  1. 如何准确回写数据库?
  2. 首先写入缓存的数据库,然后写入实际的数据库吗?
  3. 如果首先写入缓存,何时将缓存的内容写回实际存储?

1 个答案:

答案 0 :(得分:0)

这里提到的缓存不是数据缓存;它只是意味着SQLiteDatabase对象被其他getWritableDatabase()调用重用,只要它尚未关闭。 这样可以避免重新打开数据库文件。

在每次交易结束时,数据库会自动将新数据写入磁盘。