Swa*_*pal 6 c# memory-leaks xamarin.android xamarin xamarin-studio
有人可以分享使用Xamarin Studio在Xamarin.Android平台上检查内存的建议或方法吗?
我尝试过Xamarin Studio中提供的以下选项,
工具>仪器>分配
但是,我可以在选项中仅选择iOS设备,如下图所示,
这有什么解决方案吗?
可悲的是,但你无法以任何可靠的方式从Xamarin工作室做到这一点.您可以尝试使用Profiler,但它需要Enterprise许可证.我的建议是使用标准的Android工具.
制备:
2)查找Android设备监视器.与Android SDK捆绑在一起,可在"Android-SKD/tools/monitor"中找到.您可以通过打开Xamarin,按CMD +并选择SDK位置来查找该文件夹的位置.
3)查找堆快照转换器(从Android到Java).与Android SDK捆绑在一起,可在"Android-SDK/platform-tools/hprof-conv"中找到
捕获:
1)在设备上安装带调试模式的应用程序
2)将设备连接到PC并启动监视器(准备2步)
3)启动应用程序并按设备中的应用程序ID查找.
4)按Update Heap(bug图标右侧的图标)
5)做你认为会泄漏的东西
6)按Save Heap(开始右侧的图标)并将其保存到驱动器
检索结果:
1)将android堆转换为Java堆
1.1)启动终端
1.2)找到堆Shanpshot转换器(hprof-conv)(准备3步)
1.3)将hprof-conv丢弃到终端
1.4)删除Android堆,然后将其删除并重命名.它将在具有所选名称的相同位置创建正确的副本
android-sdk-macosx/platform-tools/hprof-conv raw.hprof converted.hprof
Run Code Online (Sandbox Code Playgroud)
2)打开Eclipse Memory Analyzer(准备中的1个步骤)
3)导入获得的头部转储
3)选择泄漏嫌疑人报告
4)查看结果
小智 0
您可以尝试Xamarin Profiler https://www.xamarin.com/profiler 在内存快照中,您将看到是否存在内存泄漏。但根据我的经验,如果出现内存不足异常,可能是由于您在 Android 项目中使用了大尺寸图像造成的。
| 归档时间: |
|
| 查看次数: |
2277 次 |
| 最近记录: |