核心数据导入大量数据

时间:2012-11-15 22:51:30

标签: performance core-data import

我的iOS应用首次运行时插入了大量实体。我想知道在保存之前我可以在我的上下文中插入多少项?我从Web调用中获取了一个大型JSON对象。从JSON我提取大量实体并插入它们。

我应该如何处理大量插入?

谢谢

2 个答案:

答案 0 :(得分:0)

我认为在保存之前你对上下文的大小没有任何问题,但是你肯定应该在后台线程上执行它,因为它很可能会冻结应用程序一段时间。如果只在您第一次启动应用程序时发生这种情况,您可以在主线程上放置进度指示器,同时在后台线程上保存上下文。

有关核心数据并发上下文保存的详细信息,请参阅this question的第一个答案。

答案 1 :(得分:0)

zumzum,

将大量项目导入Core Data时,需要担心许多问题。

第一个也是最重要的问题是管理记忆。大型JSON文档解析为大量小项。这些会迫使您的常驻VM占用空间不可逆转地增长。这种常驻足迹是应用程序被操作系统杀死的首要原因。您可以拥有较小的已分配内存,但由于您的常驻足迹而仍然会被杀死。

因此,应该使用积极的中间内存清理操作分阶段处理大型文档。使用并发MOC与操作之间的重置是可行的方法。然后我实现了一个尾随修剪模式来清理我的主线程MOC中保留的任何多余的内存。

安德鲁

相关问题