Core Data sqlite文件大小与存储在其中的图像和总iCloud空间之间的差异

时间:2012-06-06 22:12:02

标签: objective-c core-data icloud

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

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

我已经将NSSQLiteManualVacuumOption作为选项,所以我想知道导致所有这些空间的原因。可能是交易日志?

1 个答案:

答案 0 :(得分:0)

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

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