用核心数据存储非常小的声音文件



我在其他帖子中看到,将小图像文件(小于50 kb)作为二进制数据存储在core data中是可以的。对于小于20kb的声音文件是正确的吗?

谢谢沙尼

就Core data而言,声音文件、图像文件或任何其他二进制数据之间没有区别。在20kB以下,我会存储在Core Data中,除非你有一个很好的理由不这样做(比如前面提到的缓存),但如果你每次访问对象时都不访问它们,我会将它们存储为一个单独的实体。

我所看到的一般经验法则是实体上有<10kB的存储空间,>10kB的存储空间在单独的实体中,而>100kB的存储空间在文件系统中。

我将这样的数据存储在文件系统中,并将该文件的路径保存在核心数据对象中。这让我可以选择使用一个类来缓存图像的查找,如果程序收到内存警告,可以清空这些图像。

你应该阅读苹果的"核心数据性能"文档,特别是关于大数据对象的部分。

最新更新