如何在Xamarin Profiler中创建或生成.mlpd文件以检查应用程序性能

时间:2018-09-08 11:02:03

标签: c# visual-studio xaml xamarin xamarin.forms

您好Xamarin团队

我正在Visual Studio 2017社区中处理Xamarin表单,我想检查Xamarin分析器中应用程序的性能。为此,我需要创建.mlpd到
 在xamairn分析器中检查应用程序性能。如何创建或生成.mlpd文件。任何帮助,将不胜感激。 谢谢 praveen

1 个答案:

答案 0 :(得分:4)

使用debug.mono.profile环境变量启用Mono分析器。

  

debug.mono.profile系统属性启用探查器。它等效于mono --profile选项,并且使用相同的值。 (有关更多信息,请参见mono(1)手册页。)

Android快速示例:

adb shell setprop debug.mono.profile "log:calls,alloc,output=/sdcard/Download/output.mlpd,maxframes=8,calldepth=100"

// Exercise your app...

adb pull /sdcard/Download/prof.mlpd ~/Desktop/
adb shell rm /sdcard/Download/prof.mlpd
adb shell setprop debug.mono.profile ""

// View the results:
`which mprof-report` ~/Desktop/prof.mlpd

注意.mlpd文件可能会变得巨大(不仅仅是兆字节,而是10s / 100s千兆字节的大小,具体取决于您使用的选项“日志”事件探查器,请确保您的设备上有可用的存储(Xamarin事件探查器通过TCP流日志数据,因此不会出现此问题)

!注意!:如果试图将mlpd文件存储在应用程序沙箱之外的位置,Mono会将错误记录在mono-prof标签下。在这种情况下,您将需要从应用本身内部授予应用写权限(即通过Android清单和运行时权限)。

[mono-prof] Could not create log profiler output file '/sdcard/Download/output.mlpd': Permission denied

Android环境:

iOS环境:

Xamarin Profiler(为您完成所有操作,并具有不错的GUI):