1

我决定尝试将图像作为二进制文件保存到 CoreData 中。它们只是从 2k 到最大 90k 的小图像,我可以说我已经破坏了许多代码行,尤其是那些处理 iCloud 问题的代码。

考虑到 CoreData 是我使用 NSPersistentStoreUbiquitousContentNameKey 等属性放入 iCloud 中的唯一存储,我注意到我的 sqlite 文件实际上大小约为 1.6mb。虽然应用程序本身占用的 iCloud 空间总量(如 iOS 设置中所见)接近 34mb,但我周围没有任何其他文档。

我已经将 NSSQLiteManualVacuumOption 作为选项,所以我想知道是什么导致所有这些空间被占用。可能是事务日志?

4

1 回答 1

0

您应该使用外部数据引用。

每次更改存储图像的实体时,您都会写出所有图像数据。使用外部数据引用,图像数据将存储为单独的文件,一旦不再引用就可以删除。

于 2012-06-13T16:26:24.353 回答