【问题标题】:mach_vm_map failed (error code=3)mach_vm_map 失败(错误代码=3)
【发布时间】:2014-01-25 01:32:15
【问题描述】:

浏览我的 iPAD 应用程序一段时间后,我注意到应用程序的响应速度越来越慢,最后我的应用程序崩溃并出现以下错误

    AppName(1779,0x3d12d18c) malloc: *** mach_vm_map(size=167936) failed (error code=3)
    *** error: can't allocate region
    *** set a breakpoint in malloc_error_break to debug
    Jan  7 11:34:30  AppName[1779] <Error>:   at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <0xffffffff>
    Jan  7 11:34:30  AppName[1779] <Error>:   at MonoTouch.UIKit.UIApplication.Main (string[],string,string) <0x0012b>
    Jan  7 11:34:30  AppName[1779] <Error>:   at AppName.Application.Main (string[]) <0x0002f>
    Jan  7 11:34:30  AppName[1779] <Error>:   at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>

这是与内存相关的问题吗?

【问题讨论】:

  • 听起来您使用单声道开发应用程序。问题出在单声道框架(祝你好运)或您的应用程序中,很可能您尝试分配太大的内存区域
  • 问题出在第三方组件中,该组件通过执行计算的 for 循环更新 UI
  • 哪个第 3 方组件?
  • 内存损坏也可能导致这种情况可能不足为奇。我刚刚在 OS X 上运行的 C++ 程序中遇到了同样的错误,早在它开始分配大量内存之前。就我而言,根本原因是在 std::vector 的末尾注销。

标签: xamarin.ios crash malloc xamarin


【解决方案1】:

是的,这是内存问题:您的内存不足。

我建议您use Instruments 尝试追踪任何内存泄漏。

【讨论】:

  • 我刚刚收到同样的错误消息,但我的应用只使用了 13 MB 内存(可用内存的 0.08%)。
  • Xcode 最近对我来说表现得很奇怪。我希望这是一个暂时的问题。
  • 我遇到了同样的问题,我的应用使用 13.6MB,但应用在导航和多次从一个视图返回到另一个视图时崩溃
猜你喜欢
  • 2014-08-21
  • 2016-04-01
  • 1970-01-01
  • 2020-01-16
  • 2015-08-24
  • 1970-01-01
  • 2017-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多