即使从 table 中删除记录后,SQLCipher 数据库的大小仍在继续增长

SQLCipher Database size keeps on growing even after deleting records from table

我的 Android 应用程序使用 SQLCipher 进行数据库加密,根据我的项目要求,我需要将位图字符串存储在本地数据库中,一旦成功上传到服务器,就需要将其从数据库中删除。但是在这里,我遇到了一个非常奇怪的 SQLCipher 问题,即即使从 table 中删除了所有图像字符串后,我的应用程序的数据库大小并没有减少,而是增加了。 例如我的数据库的初始大小是 45 KB 30 个图像字符串 table 大小变为 2.91 MB 而且,从 table 中删除 30 张图片后,大小增加到 3.04 MB

但是,当我用普通的 SQLite 数据库(即没有 SQLCipher 加密)执行相同的情况时,我得到了预期的结果,即从 table 中删除图像后,数据库大小 2.91 减少到 50 KB。

请协助...

删除值后使用

db.execSQL("VACUUM");

这背后的原因是,当您从 table 中删除值时,值会被删除,但它们的引用仍然存在