本文概述
- 历史
- 解决方案
- 下载并安装
- 分析器支持
- Profiler基础
- 启动分析器
历史 从历史上看, Mono具有一些强大的功能, 例如命令行Profiler, 可收集有关在Mono运行时中运行的名为Monolog Profiler的程序的信息。 Xamarin Profiler是Monolog Profiler的图形界面, 它支持在Windows上对Android, iOS和tvOS应用程序进行性能分析。
解决方案 Xamarin Profiler提供了不同的选项来衡量性能, 这些选项包括:
- 分配:它提供有关内存的数据。它为我们提供了有关内存分配, 对象分配, 专用字节和调用树的数据。
- 周期:要跟踪内存周期, 我们将获取周期图和堆栈跟踪-这有助于开发人员查找内存泄漏。
- Time Profiler:Time Profiler用于跟踪应用程序的性能。
下载并安装适用于我们平台的软件包
- 操作系统
- 视窗
要下载Xamarin Profiler, 请单击以下链接:https://download.freedownloadmanager.org/Windows-PC/Xamarin-Profiler/FREE-1.5.5.0.html
文章图片
选中单选按钮以接受许可协议中的条款。
文章图片
选择目标文件夹以安装Xamarin Profiler。
文章图片
单击安装, 它将开始安装。
文章图片
安装开始:
文章图片
文章图片
下载后, 启动安装程序以将Xamarin Profiler添加到我们的系统。
分析器支持 在以下平台上提供了对Xamarin Profiler的支持:
- Visual Studio for Mac(带有企业版的macOS)
- 安卓系统
- 设备, 仿真器
- iOS
- 设备和模拟器
- tVOS(不支持时间工具)
- 设备和模拟器
- 苹果电脑
- 安卓系统
- Visual Studio(企业版)
- 安卓系统
- 设备和仿真器
- iOS [实验性]
- 设备和模拟器
- 电视台
- 设备和模拟器
- 安卓系统
在成功配置应用程序之前, 我们需要在应用程序的项目选项中允许” 性能分析” 。
为此, 我们必须遵循以下步骤:
生成-> Android调试-> 启用开发人员检测
文章图片
启动分析器 Xamarin Profiler可以在对Android或iOS应用程序进行性能分析时从IDE启动, 也可以作为独立应用程序启动。
从Visual Studio启动
- 首先, 我们必须确保将应用程序加载到Visual Studio中, 然后选择默认的调试配置。
- 浏览到Visual Studio中的Analyze-> Xamarin Profiler, 以打开Profiler, 如屏幕快照所示:
文章图片
Visual Studio启动Profiler并开始自动分析应用程序。分析器可用于测量内存和性能。内存管理可以通过分配和时间分析器工具来实现。
保存和加载Profiler会话
要随时保存性能分析会话, 我们必须从Profiler菜单栏中选择File-> SaveAs。 Profiler以.mlpd格式保存文件。这是用于数据分析的高度压缩格式。
安装Xamarin Profiler应用程序后, 可以在我们的应用程序目录中找到该应用程序。
文章图片
通过打开独立应用程序, 我们可以将.mlpd文件加载到Profiler中。为此, 我们必须选择选择目标并加载数据。
分析器功能
Xamarin Profiler分为五个部分, 如下所示:
文章图片
工具栏:位于Profiler顶部的工具栏, 其中显示了启动和停止分析的选项。在这里, 我们将选择目标进程, 查看应用程序的运行时间, 并选择显示分析器应用程序的拆分视图。
乐器列表:这显示了用于分析会话的所有已加载乐器的列表。
图表:这些图表与工具列表中的相关工具水平相关。滑块(滑块的位置在时间分析器的下方)可用于更改刻度。
仪器详细信息区域:这将显示当前仪器显示的数据。
检查器视图:这显示了由段控件选择的部分。本部分取决于所选的仪器, 包括:配置设置, 统计信息, 堆栈跟踪信息和根目录路径。
Profiler的功能包括:
分配:分配工具提供有关应用程序对象的信息, 无论它们是创建的还是垃圾的收集。
分配图将显示在Profiler的顶部。分配图显示了性能分析期间按固定间隔的内存分配量。当前, 分配图是分配的总数, 而不是时间点上堆的大小。分配图永远不会下降, 它会增加。分配图包括堆栈中对象的分配。即使对于同一个应用程序, 图表的外观也会有所不同, 这完全取决于我们使用的运行时版本。
文章图片
分配图显示了分配工具中数据的不同视图。分配图使开发人员能够分析应用程序的使用方式和释放内存的方式。
视图是:
1.分配:分配显示所有分配的列表, 并按类名称将其分组。该分配提供有关使用的类和方法以及使用的类的集合大小的信息。双击该类将显示内存分配。
文章图片
分配的检查器视图提供了用于对对象进行过滤和分组的选项, 提供了有关内存分配以及堆栈跟踪和根路径的统计信息。
- 调用树:这将显示应用程序中所有线程的整个调用树, 并包括有关每个节点上的内存分配的信息。在列表中选择一个元素时, 所有同级节点均显示为灰色。我们可以展开树或双击元素以向下钻取。当我们显示数据视图时, 可以使用显示设置(即检查器视图)来更改其显示方式。呼叫树包括两个选项;他们是:
- 反向调用树:这包括从上到下的堆栈跟踪。反向调用树是一种方便的视图选项;它表示CPU花费时间的最深刻的方法。
- 按线程分隔:此选项按线程组织调用树。
文章图片
- 快照:此区域显示有关内存快照的信息。我们可以在对应用程序进行性能分析时生成它们。为此, 我们必须单击工具栏上的” 相机” 按钮以捕获所有要查看的点, 以查看保留和释放了多少内存。然后, 我们可以单击每个快照, 以了解幕后情况。
文章图片
2.周期:通过使用C#和F#托管代码。通过使用C#代码, 创建对象的引用将变得非常普遍和容易, 而这些引用将永远不会被丢弃。该工具使我们能够查明那些对象并在应用程序中显示循环的引用。
文章图片
Time Profiler:Time Profiler仪器测量应用程序每种方法的花费时间。应用程序会定期暂停, 并在每个活动线程上运行堆栈跟踪。仪器详细信息区域中的每一行均显示执行路径, 该路径已遵循。
以下屏幕截图显示了应用程序运行时收到的样本数量。
文章图片
- 调用树:调用树显示每种方法花费的时间。
文章图片
推荐阅读
- Xamarin和React Native有什么区别(详细示例图解)
- Xamarin和Ionic有什么区别(答案在这里————)
- Xamarin.Android开发实例详细图解
- Xamarin模型-视图-视图模型模式(MVVM)示例解释
- pageContext中pagerequestsessionapplication四种范围变量的用法。
- 移动APP自动化测试框架对比
- 3_如何将Android程序部署到实体机上
- Best data recovery software for Android phone
- android view绘制 面试