代码之家  ›  专栏  ›  技术社区  ›  Tariq

内存管理导致的崩溃问题(使用核心数据)

  •  0
  • Tariq  · 技术社区  · 14 年前

    我正在使用核心数据。从那里我正在检索10000多个数据

    但正如我在XCode仪器中看到的,我的内存使用量不断增加

    这就是原因,崩溃活动是在设备中而不是在模拟器中

    有人想对此发表评论吗?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Marcus S. Zarra    14 年前

    不要一次检索10000个对象。

    使用NSAutoreleasePool并以一致的间隔(间隔将通过测试确定)刷新池。

    1. 保存上下文
    2. 重置上下文
    3. 把游泳池里的水排干

        2
  •  0
  •   Michal    14 年前

    模拟器实际上有无限的内存,因为它使用Mac的内存,因此甚至可以交换到硬盘驱动器。另一方面,iDevice的内存非常有限。

    从你的描述来看,还不清楚你做错了什么。由你来分析,用仪器你已经走上了一条好路。使用Instruments的“Heapshot分析”查找应用程序泄漏内存的位置。最近bbum写了一篇关于如何使用它的好文章: http://www.friday.com/bbum/2010/10/17/when-is-a-leak-not-a-leak-using-heapshot-analysis-to-find-undesirable-memory-growth/ http://developer.apple.com/videos/wwdc/2010/

    推荐文章