更新: db-wal文件是如此之大。原因是什么?如何限制sqlite日志记录文件的大小?
我正在使用SQLiteOpenHelper。当发生onUpgrade时,我将删除为我的应用程序而存在的每个表。在droid上,当我使用设置应用程序查看应用程序的数据大小时,您可以看到数据大小按预期减少了。但有了HTC Thunderbolt,数据大小并没有减少。更糟糕的是,当你再次使用我的应用程序时,迅雷的数据库还在继续增长。当我升级数据库版本时,数据库似乎总是会在Thunderbolt上增长。
我已经验证了我只使用了一个同名的数据库,并且在删除这些表之前数据库中有数据。我希望在迅雷上看到和我在机器人上一样的行为。有没有什么方法可以通过编程方式清除设备的所有数据?这不是很理想,但总比Thunderbolt的数据大小一直增长要好。
发布于 2011-06-02 04:31:41
如果您使用的是SQLiteOpenHelper,则需要在应用程序结束时调用close。api文档提到,您不需要在由它打开的所有SQLiteDatabase实例上调用close,但您仍然必须在Helper上调用close,因为它会缓存和跟踪所有打开的SQLiteDatabase实例。如果不调用close,wal文件将针对getWriteableDatabase和getReadableDatabase返回的每个不同实例继续增长。
https://stackoverflow.com/questions/6115279
复制相似问题