Java Android上的Cap sqlite数据库大小

Java Android上的Cap sqlite数据库大小,java,android,database,sqlite,Java,Android,Database,Sqlite,我试图限制Android上sqlite数据库的大小。这就是我试图实现它的方式 对sqlite db对象调用setMaximumSize() 将mDb.replaceOrThrow()放在try-catch块中,以便在大小已满时引发SQLiteFullException 捕获SQLiteFullException并删除数据库中的所有记录。(因为我使用db进行缓存) 这是我观察到的, 我得到了SQLiteException,在几次成功插入后出现错误消息“无法提交。没有事务处于活动状态”。数据库

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

  • 对sqlite db对象调用setMaximumSize()
  • 将mDb.replaceOrThrow()放在try-catch块中,以便在大小已满时引发SQLiteFullException
  • 捕获SQLiteFullException并删除数据库中的所有记录。(因为我使用db进行缓存)
这是我观察到的,

  • 我得到了SQLiteException,在几次成功插入后出现错误消息“无法提交。没有事务处于活动状态”。数据库的设置大小越大,失败前成功事务的数量越多
  • 当我将数据库的最大大小设置得太小以至于无法创建表时,我会得到SQLiteFullException,因此当我使用create table查询调用execSQL()时,它会抛出SQLiteFullException
我的问题是为什么在插入/替换过程中没有得到SQLiteFullException?实现我正在尝试的目标的正确方法是什么