谁能分享使用 Xamarin Studio 检查 Xamarin.Android 平台内存的建议或方法?
我已尝试使用 Xamarin Studio 中可用的以下选项,
工具 > 工具 > 分配
但是,我只能在选项中选择 iOS 设备,如下图所示,
有什么解决办法吗?
最佳答案
遗憾的是,您无法通过 Xamarin Studio 以任何可靠的方式完成此操作。您可以尝试探查器,但它需要企业许可证。我的建议是使用标准的 Android 工具。
准备:
1) 下载"Eclipse Memory Analyzer"
2) 找到 Android 设备监视器。与 Android SDK 捆绑在一起,可以在“Android-SKD/tools/monitor”中找到。您可以通过打开 Xamarin、按 CMD + 并选择 SDK Locations 来找到该文件夹的位置。
3) 查找堆快照转换器(从 Android 到 Java)。与 Android SDK 捆绑在一起,可以在“Android-SDK/platform-tools/hprof-conv”找到
捕获:
1) 在设备上以 Debug模式安装应用
2) 将设备连接到 PC 并启动监视器(准备阶段的第 2 步)
3) 启动应用程序并通过设备中的应用程序 ID 找到它。
4) 按更新堆(错误图标右侧的图标)
5)做你认为会泄露的事情
6) 按 Save Heap(开始右侧的图标)并将其保存到驱动器
检索结果:
1) 将android堆转换为Java堆
1.1)启动终端
1.2) 定位 Heap Shanpshot 转换器 (hprof-conv)(准备阶段的 3 步)
1.3) 将 hprof-conv 放到终端
1.4) drop Android heap,然后,drop it next and rename it。它将使用所选名称在同一位置创建正确的副本
android-sdk-macosx/platform-tools/hprof-conv raw.hprof converted.hprof
2) 打开 Eclipse Memory Analyzer(准备步骤 1)
3) 导入获取的Head Dump
3) 选择泄漏嫌疑人报告
4) 查看结果
关于c# - 如何检查 Xamarin.Android 中的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45050156/