Android上的Cap sqlite数据库大小

时间:2012-11-26 22:15:40

标签: java android database sqlite

我试图限制Android上的sqlite数据库大小。这就是我想要实现它的方式,

  • 在sqlite数据库对象上调用setMaximumSize()
  • 将mDb.replaceOrThrow()放在try-catch块中,这样当大小已满时,抛出SQLiteFullException。
  • 捕获SQLiteFullException并删除数据库中的所有记录。 (因为我使用db进行缓存)

这就是我所观察到的,

  • 在几次成功插入后,我收到SQLiteException,错误消息“无法提交。没有事务处于活动状态”。 db的设置大小越高,失败前成功事务的数量就越多。
  • 当我将db的最大大小设置得太小而无法创建表时,我确实得到了SQLiteFullException,所以当我用create table查询调用execSQL()时,它会抛出SQLiteFullException。

我的问题是为什么我在插入/替换期间没有得到SQLiteFullException?什么是实现我正在尝试的正确方法?

0 个答案:

没有答案