小编典典

Android数据库大小不会减少HTC Thunderbolt

sql

更新:db-wal文件太大了。是什么原因,如何限制sqlite日志文件的大小?

我正在使用SQLiteOpenHelper。当发生onUpgrade时,我将删除我的应用程序中存在的每个表。当我使用设置应用程序查看应用程序数据大小时,在机器人上,您可以看到数据大小会减小。但是使用HTC
Thunderbolt时,数据大小不会减少。更糟糕的是,当您再次开始使用我的应用程序时,Thunderbolt的数据库仍在继续增长。当我升级数据库版本时,似乎数据库将始终在Thunderbolt上增长。

我已验证我只使用了一个同名的数据库,并且在删除表之前数据库中已有数据。我希望在Thunderbolt上看到与在机器人上相同的行为。有什么办法可以以编程方式清除设备的所有数据?这不是理想的选择,但总比让Thunderbolt的数据大小不断增长要好。


阅读 196

收藏
2021-03-23

共1个答案

小编典典

如果您使用的是SQLiteOpenHelper,则需要在应用程序结束时调用close。api文档提到您不需要在由它打开的所有SQLiteDatabase实例上调用close,但是您仍然必须在Helper上调用close,因为它缓存并跟踪所有SQLiteDatabase的打开实例。如果不调用close,则wal文件将针对getWriteableDatabase和getReadableDatabase返回的每个不同实例继续增长。

2021-03-23