【问题标题】:iOS Instruments Allocation and Leaks crash the Xamarin applicationiOS 仪器分配和泄漏使 Xamarin 应用程序崩溃
【发布时间】:2015-02-14 06:51:20
【问题描述】:

我目前正在使用 Xamarin 开发一个大型应用程序。我正在尝试修复一些发生的泄漏,但是每当我使用工具 Leaks 或 Allocation 时,这些工具都会使应用程序冻结,并且记录停止拍摄任何内容。

我的应用处于 Debug 模式,如以下链接所述:
Xcode Instruments stops recording when iPad app leaves the splash screen

日志中没有特别的崩溃,我尝试了启用 NSZombie 检测,但没有成功。

Dec 15 21:00:15 SU04 xxxxxxxxx[351] <Warning>: Using ThreadCount: 2
Dec 15 21:00:23 SU04 backboardd[28] <Warning>: CoreAnimation: updates deferred for too long
Dec 15 21:00:23 SU04 backboardd[28] <Warning>: CoreAnimation: timed out fence 2ecaf
Dec 15 21:00:23 SU04 SpringBoard[33] <Warning>: CoreAnimation: failed to receive fence reply: 10004003

在启动时,应用程序必须加载大量内存(部分来自 xamarin,部分来自不同的 SDK),我怀疑这些工具无法处理。我们正在调整 180Mo 和 90Mo 到 120Mo 在启动时加载,但这些工具使应用程序在完全正常运行之前冻结。

我的团队中没有人能够使用这些工具进行配置,因此它来自工具或应用程序而不是我的计算机配置。(imho)我在模拟器 7.x 和 8.x、ipad 7.x 和 8.x 上进行了尝试,结果相同。

还有什么想法可以解决这个问题吗?谢谢:)

【问题讨论】:

    标签: ios memory-leaks xamarin.ios xamarin xcode-instruments


    【解决方案1】:

    尝试点击右侧栏第一个选项卡上的“仅跟踪 VM 分配”复选框。

    我对 Instruments 和 Xamarin 也有类似的问题,虽然这会使设备超出启动屏幕(并且工作正常),但遗憾的是,您可能会注意到很多有用的分配信息丢失了。

    【讨论】:

    • 不幸的是,我手头没有这个项目了(也没有在 Xamarin 上工作)。希望他们已经用我发送给他们的错误报告修复了它。
    【解决方案2】:

    您是否尝试过以“延迟模式”录制?实时录制会影响 CPU 和内存,并且会减慢您的应用程序的速度。通过使用“延迟模式”,您可以将分析延迟到记录结束。希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      简答:使用发布配置的配置文件

      长答案:

      Xamarin.iOS 的 Debug 配置与 Xcode 的配置非常不同。您提供的链接适用于 Xcode,不适用于 Xamarin.iOS。

      Xamarin.iOS 使用软调试器,与发布版本相比,它需要额外的(生成的)代码和内存进行调试。

      这通常会给你错误的数字,例如它花费的时间比预期的要长,并且您会发现自己优化了错误的代码(例如,它可能不是发布时最慢的代码部分)。内存使用也是如此(仪器也有自己的要求)。

      对于时间或内存,您将使用最接近您计划发布的构建选项获得最佳结果(数据)。

      【讨论】:

      • 不工作,在模拟器和设备上以发布模式使用时,应用程序在调试时冻结。它永远不会同时冻结。有时在启动画面之后,有时在项目加载时
      • :( 好吧,至少,将问题隔离开一点。我建议您打开错误报告(或联系支持人员)。我们需要一种方法来重现此问题以调查是什么正在发生。
      • 好的,我已经向他们的支持部门发送了一封电子邮件。我们会看看他们是否需要更多关于这方面的信息。
      猜你喜欢
      • 2012-06-11
      • 2012-05-28
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 2018-04-04
      • 2017-11-29
      • 2011-07-08
      • 1970-01-01
      相关资源
      最近更新 更多