gpt4 book ai didi

c# - 如何检查 Xamarin.Android 中的内存泄漏?

转载 作者:太空狗 更新时间:2023-10-29 21:26:22 27 4
gpt4 key购买 nike

谁能分享使用 Xamarin Studio 检查 Xamarin.Android 平台内存的建议或方法?

我已尝试使用 Xamarin Studio 中可用的以下选项,

工具 > 工具 > 分配

但是,我只能在选项中选择 iOS 设备,如下图所示,

enter image description here

有什么解决办法吗?

最佳答案

遗憾的是,您无法通过 Xamarin Studio 以任何可靠的方式完成此操作。您可以尝试探查器,但它需要企业许可证。我的建议是使用标准的 Android 工具。

准备:

1) 下载"Eclipse Memory Analyzer"

2) 找到 Android 设备监视器。与 Android SDK 捆绑在一起,可以在“Android-SKD/tools/monitor”中找到。您可以通过打开 Xamarin、按 CMD + 并选择 SDK Locations 来找到该文件夹​​的位置。

enter image description here enter image description here

3) 查找堆快照转换器(从 Android 到 Java)。与 Android SDK 捆绑在一起,可以在“Android-SDK/platform-tools/hprof-conv”找到

enter image description here

捕获:

1) 在设备上以 Debug模式安装应用

2) 将设备连接到 PC 并启动监视器(准备阶段的第 2 步)

3) 启动应用程序并通过设备中的应用程序 ID 找到它。

enter image description here

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

enter image description here

2) 打开 Eclipse Memory Analyzer(准备步骤 1)

3) 导入获取的Head Dump

enter image description here

3) 选择泄漏嫌疑人报告

enter image description here

4) 查看结果

enter image description here

关于c# - 如何检查 Xamarin.Android 中的内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45050156/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com