Xamarin Profiler

2024年11月14日 | 阅读 6 分钟

应用程序的成功取决于最终用户的体验。作为开发人员,我们可能会在我们的应用程序中实现一些出色的功能。但是,如果应用程序充满了崩溃,那么用户可能希望摆脱这种类型的应用程序。使用 Xamarin 开发移动应用程序很容易,但开发移动应用程序是不够的。要开发一款出色的移动应用程序,它必须通过特定的参数。应用程序应该对用户友好;用户界面应该在所有设备和平台上都完美。应该有适当的内存管理;所有异常都应该被处理。借助 Xamarin Profiler,开发人员可以轻松找到内存泄漏,解决性能问题和异常。Xamarin Profiler 有助于了解应用程序的内存消耗。Xamarin Profiler 提供的参数使应用程序变得完美。

历史

从历史上看,Mono 具有一些强大的功能,例如命令行 Profiler,它可以收集关于在 Mono 运行时中运行的程序的信息,称为 Monolog Profiler。Xamarin Profiler 是 Monolog profiler 的图形界面,支持在 Windows 上对 Android、iOS 和 tvOS 应用程序进行性能分析。

解决方案

Xamarin Profiler 提供了不同的选项来衡量性能,这些选项是

  1. 分配:它提供有关内存的数据。它为我们提供有关内存分配、对象分配、私有字节和调用树的数据。
  2. 循环:要跟踪内存循环,我们将获得循环图和堆栈跟踪 - 这有助于开发人员找到内存泄漏。
  3. 时间分析器:时间分析器用于跟踪应用程序的性能。

下载并安装

Xamarin Profiler 是一个独立的应用程序,它与适用于 Mac 的 Visual Studio 集成。在这里,我们在 IDE 中启用性能分析。

下载并安装我们平台的软件包

  • macOS
  • Windows

在 Windows 中下载

要下载 Xamarin Profiler,请点击此链接:https://download.freedownloadmanager.org/Windows-PC/Xamarin-Profiler/FREE-1.5.5.0.html

Xamarin Profiler

选中单选按钮以接受许可协议中的条款。

Xamarin Profiler

选择要安装 Xamarin Profiler 的目标文件夹。

Xamarin Profiler

单击“安装”,它将开始安装。

Xamarin Profiler

安装已开始

Xamarin Profiler
Xamarin Profiler

下载后,启动安装程序以将 Xamarin Profiler 添加到我们的系统中。

Profiler 支持

Xamarin Profiler 的支持在以下平台上可用

  • 适用于 Mac 的 Visual Studio(带有企业版 macOS)
    • Android
      • 设备、模拟器
    • IOS
      • 设备和模拟器
    • tVOS(不支持时间工具)
      • 设备和模拟器
    • Mac
  • Visual Studio(企业版)
    • Android
      • 设备和模拟器
    • iOS [实验性]
      • 设备和模拟器
    • tVOS
      • 设备和模拟器

Profiler 基础知识

允许在我们的应用程序中进行性能分析

在我们成功分析我们的应用程序之前,我们需要在应用程序的项目选项中允许性能分析。

为此,我们必须按照以下步骤操作

构建->Android 调试->启用开发人员工具

Xamarin Profiler

启动 Profiler

当我们在分析我们的 Android 或 iOS 应用程序时,或者作为一个独立的应用程序时,可以从我们的 IDE 启动 Xamarin Profiler。

从 Visual Studio 启动

  1. 首先,我们应该确保应用程序已加载到 Visual Studio 中,并选择默认的调试配置。
  2. 在 Visual Studio 中浏览到 分析-> Xamarin Profiler,以打开 Profiler,如屏幕截图所示
Xamarin Profiler

Visual Studio 启动 Profiler 并自动开始分析应用程序。Profiler 可用于衡量内存和性能。可以通过分配和时间分析器工具来实现内存管理。

保存和加载 Profiler 会话

要随时保存性能分析会话,我们必须从 Profiler 菜单栏中选择 文件->另存为。Profiler 将文件保存为 .mlpd 格式。这是一种用于分析数据的压缩格式。

当 Xamarin Profiler 应用程序安装后,可以在我们的应用程序目录中找到该应用程序。

Xamarin Profiler

我们可以通过打开独立的应用程序将 .mlpd 文件加载到 Profiler 中。为此,我们必须选择 选择目标 并加载数据。

Profiler 功能

Xamarin Profiler 有五个部分,如下所示

Xamarin Profiler

工具栏:工具栏位于 Profiler 的顶部,它显示了启动和停止性能分析的选项。在这里,我们将选择目标进程,查看应用程序的运行时间,并选择显示 Profiler 应用程序的分割视图。

工具列表:这显示了用于性能分析会话的所有已加载工具的列表。

绘图图:这些图表与工具列表中的相关工具水平相关。可以使用滑块(滑块的位置在 时间分析器下方)来更改比例。

工具详细信息区域:这将显示当前工具显示的数据。

检查器视图:这将显示由分段控件选择的部分。此部分取决于所选的工具,其中包括:配置设置、统计信息、堆栈跟踪信息和根路径

Profiler 的功能是

分配:分配工具提供有关应用程序对象的信息,无论它们是被创建还是垃圾收集。

分配图表将显示在 Profiler 的顶部。分配图表显示了在性能分析期间以固定间隔进行的内存分配量。目前,分配图是总分配量,而不是在时间点的堆大小。分配图表永远不会下降,并且会增加。分配图表包括堆栈上对象的分配。即使对于同一个应用程序,图表看起来也会有所不同,这取决于我们使用的运行时版本。

Xamarin Profiler

分配图表显示了分配工具中数据的不同视图。分配图表允许开发人员分析应用程序如何使用和释放内存。

视图是

1. 分配:分配显示所有分配的列表,并按类名对它们进行分组。分配提供了有关所使用的类和方法以及所用类的总大小的信息。双击该类显示内存分配。

Xamarin Profiler

分配的检查器视图提供了用于过滤和分组对象的选项,提供了内存分配的统计信息以及堆栈跟踪和根路径。

  • 调用树:这显示了应用程序中所有线程的整个调用树,并包括有关每个节点上内存分配的信息。当在列表中选择一个元素时,所有同级节点都将显示为灰色。我们可以展开树或双击该元素以深入了解它。当我们显示数据的视图时,可以使用显示设置(即检查器视图)来更改其显示方式。调用树包括两个选项;它们是
    • 反向调用树:这由从上到下的堆栈跟踪组成。反向调用树是一个方便的视图选项;它指示 CPU 花费时间的最高级方法。
    • 按线程分隔:此选项按线程组织调用树。
Xamarin Profiler
    • 快照:此区域显示有关内存快照的信息。我们可以在应用程序的性能分析是实时的情况下生成这些快照。为此,我们必须单击工具栏中的相机按钮,以捕获我们要查看的内存保留和释放量的所有点。然后,我们可以单击每个快照以探索幕后发生的事情。

注意:在这里,我们应该注意到,我们只有在应用程序的性能分析是实时的情况下才能拍摄快照。

Xamarin Profiler

2. 循环:通过使用 C# 和 F# 托管代码。通过使用 C# 代码,创建对象引用(这些对象永远不会被释放)非常常见且容易。此工具允许我们查明这些对象,并在我们的应用程序中显示循环的引用。

Xamarin Profiler

时间分析器:时间分析器工具测量在应用程序的每个方法上花费的时间。应用程序以固定的间隔暂停,并在每个活动线程上运行堆栈跟踪。工具详细信息区域中的每一行显示了已遵循的执行路径。

下面的屏幕截图显示了应用程序运行时收到的样本数。

Xamarin Profiler
  • 调用树:调用树显示在每种方法中花费的时间量。
Xamarin Profiler
下一个主题Xamarin Workbook