我目前正在使用 Xamarin 开发一个大型应用程序。我正在尝试修复发生的一些泄漏,但每当我使用仪器泄漏或分配时,这些工具都会使应用程序卡住并且记录停止进行任何操作。
我的应用程序处于此链接中所述的调试模式:
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,但这些工具使应用程序在完全正常运行之前卡住。
我的团队中没有人能够使用这些工具进行概要分析,因此它(恕我直言) 来自工具或应用程序,而不是我的计算机配置。我在模拟器 7.x 和 8.x,ipads 7.x 和 8.x 上试过,结果相同。
关于我可以尝试解决这个问题的更多想法?谢谢:)
最佳答案
尝试单击右侧栏第一个选项卡上的“仅跟踪 VM 分配”复选框。
我在使用 Instruments 和 Xamarin 时遇到了类似的问题,虽然这会使设备超出初始屏幕(并正常工作),但您可能会遗憾地注意到很多有用的分配信息丢失了。
关于iOS Instruments Allocation 和 Leaks 使 Xamarin 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27496524/