Windows手机性能分析会创建扩展名为.sap的文件。此.sap文件是一个xml文件,其中包含有关已探测内容的信息,即内存,代码和可视内容。它还包含指向日志文件的链接: 文件类型=“NativeFormat”Path =“PerformanceLogs \ SampleApp634619173996182143 \ tmp9EE1.tmp”
我无法打开tmp9EE1.tmp,因为我找不到Type =“NativeFormat”的含义。 基本上我想从profiler工具得到的是: - xml或csv或包含特定时间段内存消耗信息的任何文件 例如。 100 ms = 10 mb,200 ms = 12 mb,300 ms = 13 mb等。
而不是图形工具(由探查器提供),我希望得到任何可读格式文本,csv,xml。
如果有可能请告诉我。 谢谢
答案 0 :(得分:1)
我不知道是否可以使用性能分析工具解决它,但您可以使用计时器执行此操作,然后自行记录。我使用此代码查看我的应用程序使用了多少内存,您可以调整它以满足您的需求。
还有一件事我把它添加到App-s构造函数中。
我希望这会对你有所帮助。
var timer = new System.Windows.Threading.DispatcherTimer { Interval = TimeSpan.FromSeconds(2) };
timer.Tick += (s, e) =>
{
var mempeakuse = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("ApplicationPeakMemoryUsage");
var memuse = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("ApplicationCurrentMemoryUsage");
var maxmem = (long)Microsoft.Phone.Info.DeviceExtendedProperties.GetValue("DeviceTotalMemory");
memuse /= 1024 * 1024;
mempeakuse /= 1024 * 1024;
maxmem /= 1024 * 1024;
System.Diagnostics.Debug.WriteLine(String.Format("Mem usage: {0} / {1} / {2} MB", memuse, mempeakuse, maxmem));
};
timer.Start();