ios中的数据库大小约束

时间:2012-09-11 10:10:33

标签: ios iphone ipad

我正在开发一款应用程序,可以通过在线搜索在数据库中存储大量图像。当同时在DB中存储5000x4图像时,应用程序崩溃。 我想知道的是,数据库是否超出某些(有限的)大小,或者是因为在DB上执行的活动太多导致数据库崩溃。

PS:你在模拟器中运行良好。

1 个答案:

答案 0 :(得分:1)

1)如果总数据库大小只有几百兆,那么您可以安全有效地使用SQL支持的核心数据存储库来存储图像。

2)当您开始接近一个或多个演出时,您应该将较大(或所有)图像保存在文件中,并使用Core Data保留图像的参考(文件路径或URL)。执行此操作的方法是(对于ios 5.1和更新版本)在“Application Support”目录(您可能需要创建)中创建一个目录,将其标记为不包含在iCloud备份中,并将图像存储在那里。通过这种方式,您可以保持数据输入(假设用户不会感到不安并删除您的应用程序)。

编辑:我刚看了你的评论。假设有大量的小(8K)图像,如果问题是它们一次全部活动(也就是说,你一次都设置实体属性,而不是很长时间),那么你可能需要制作使用'refreshObject:mergeChanges:'实体'fault'。您可以在“核心数据编程指南”中阅读有关减少内存占用空间的其他提示。