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

如何解决iPhone开发中的内存分配问题?

  •  2
  • Tirth  · 技术社区  · 15 年前

    我正在iPhone中创建一个基于GUI导航的简单应用程序。当此应用程序在我的iPhone设备中运行时,显示以下错误:

    Class_Name(427,0x383772d8) malloc: *** mmap(size=2388660224) failed (error code=12)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    Program received signal:  “EXC_BAD_ACCESS”.
    

    如何解决上述问题?

    3 回复  |  直到 15 年前
        1
  •  0
  •   Beardo    15 年前

    exc_bad_访问通常在引用已释放的对象时发生。在某个地方,你没有保留你需要的推荐信。或者你释放了一个你需要的物体。尝试使用调试器确定访问发生在哪一行,然后确保在调用该方法之前正确保留了该对象。

        2
  •  4
  •   Rob Napier    15 年前

    您请求的内存分配为2GB,这比可用内存多,因此 malloc() 失败。

        3
  •  0
  •   kubi    15 年前

    一件真正有助于您的事情是在 malloc_error_break

    说明是 here . 我建议将此添加到全局断点,以便在所有项目中设置它…它非常有用。