删除数据后,应用程序的大小不断增加



我正在使用CoreData作为我的本地应用程序存储管理器。

有时我会保存BLOB文件(图像、视频等(,并注意到应用程序大小增加,这是意料之中的。

当我删除一些数据时,我的问题出现了,但应用程序大小没有改变。

我已经下载了该应用程序的容器,并注意到appname.sqliteappname.sqlite-wal仍然很大。

有谁知道为什么会这样?

注意:我正在使用 CoreData 和 CloudKit 以及NSPersistentCloudKitContainer这是否有帮助。

在 CoreData 下是一个 sqlite 数据库。Sqlite 的vacuum命令文档解释了正在发生的事情

https://www.sqlite.org/lang_vacuum.html

从 SQLite 数据库中删除内容时,通常不会擦除内容,而是将用于保存内容的空间标记为可重复使用。

您可以尝试连接到底层 sqlite 数据库并直接在其上使用真空。

如何清空核心数据SQLite数据库?

但是,在您的情况下,我会遵循@matt的建议,不要以这种方式使用 BLOB。

最新更新