SQLCipher数据库大小即使在删除表

时间:2015-06-10 05:48:44

标签: android database sqlite sqlcipher-android

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

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

请协助......

1 个答案:

答案 0 :(得分:1)

删除值后使用

 var result = queryableData.Provider.CreateQuery<Dummy>(wherExpression).ToList();
 variable 'x' of type 'P.Dummy' referenced from scope '', but it is not defined

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