考虑性能的重要性

已完成

应用的性能对保持用户满意度非常重要。 性能的好坏,直接决定应用是一般还是出色。 有时,可能只是在集合中缓存数据或删除对数据源的冗余调用这样简单的更改,就能决定应用的优劣。

本模块将介绍常见性能问题、缓解其影响的方式以及如何执行测试来发现问题。

最常见的性能瓶颈 - 数据源

最常见的应用性能问题来自与数据源的交互。 几乎每个应用都具有一个或多个数据源。 Power Apps 以本机方式支持与这些数据源的 200 多个不同连接,使用这些连接是出色应用的关键所在。

从应用调用这些数据源通常是应用中最大的瓶颈,因为通过网络调用数据源,在数据源端处理请求,通过网络将数据返回到 Power Apps,然后让 Power Apps 处理和显示数据都需要时间。 优化与数据源的这些交互是获得出色性能的关键。 以下部分重点介绍一些最常见的错误。

过多的刷新

利用 Refresh 函数,可以强制 Power Apps 更新从给定数据源中收集的数据。 运行本函数似乎挺不错,因为可以在应用中获得最新数据。 但是,Power Apps 通常会进行本刷新。 例如,使用窗体向库控件中显示的数据源提交新记录时,Power Apps 将自动刷新该连接。 如果导航到“库”屏幕时包含 Refresh 函数,那么现在正在刷新的是 Power Apps 已经刷新的数据。 这是冗余操作,并会无故降低应用速度。

注意

在确定是否需要前,请不要使用 Refresh 函数。

过多的查找

开始使用关系数据(学习路径在 Power Apps 中使用高级数据选项和连接器 - 模块 1 使用 Power Apps 中的画布应用中的关系数据中已介绍)时,一种常见错误是不考虑库内的 LookUp 函数的后果。 在库内的标签上使用 LookUp 函数时,会对库中的每条记录执行一次该 LookUp。 这意味着,如果库中有 100 条记录,应用必须对数据源执行 100 次单独的 LookUp 调用才能呈现。 这可能需要数分钟才能呈现,具体取决于数据源。 更好的方法是仅使用详细信息屏幕显示相关数据或使用集合来缓存数据源中的数据,此时 LookUp 就不必通过网络来执行。

注意

如果使用显示多个记录的控件,那么在对远程数据源进行其他调用时需谨慎操作。

将数据存储在错误的数据源中

不同的数据源针对不同的工作负载进行了优化,在选择存储数据的位置时应考虑这一点。 例如存储图像或文件。 Power Apps 的一个常见用途是使用照相机控件或设备内置照相机应用来捕获图像。 用户拍摄图像后,需要将其保存。 一种方式是将图像与其他应用数据存储在同一个 SQL Server 数据库中。 尽管这有可能实现,但要特别注意,在 SQL Server 中存储图像非常低效。 向 SQL 数据库写入和读取图像文件速度较慢,从而导致应用运行缓慢。 更好的方式是在 Azure Blob 存储中存储 Power Apps 图像。 Azure Blob 存储比将相同数据写入 SQL Server 更快。 对应用基本结构的这种次要更改可对用户满意度产生有利影响。

注意

为应用选择最佳数据源,以便获得最佳性能。

其他性能注意事项

虽然数据源可能是最大的瓶颈,但还可以进行其他容易受到忽视的更改来获得最佳性能。 其他一些常见问题包括:

  • 资产大小 - 设计应用时,最好能包含公司徽标和其他可视化资产。 将这些资产添加到应用时,请确保针对应用大小对资产进行优化。 文件的分辨率越高,文件就越大,应用存储和显示图像所需的资源就越多。 使用图像编辑工具将文件大小重设为应用所需的大小。

  • 重新发布应用 - Power Apps 团队不断更新 Power Apps 以引入新功能并提高性能。 应用可利用这些改进功能的唯一方法是打开应用并再次发布。 应用将保留其发布时的版本,直到您再次发布应用。 因此,通过定期重新访问应用以升级为最新版本,可以获得最佳性能。

  • 生成重点应用 - Power Apps 支持生成具有尽可能多屏幕的应用,但过多的屏幕并非好事。 应该针对特定访问群体和流程生成应用。 这样,可优化特定受众的用户体验,使应用的构建和故障排除更轻松,同时可减少应用大小。 如果将一个应用用于所有内容,请考虑按角色将其分为较小的应用。

逐步优化性能

学习本模块时,您将了解优化性能的不同技巧和方式。 在深入了解如何优化应用之前,请谨记,应用正常运行才是最重要的。 虽然应用执行速度很快,但如果用户一使用应用就发生错误,那就没有任何意义了。

生成应用并使其实现目标且功能齐全通常较为容易。 应用运行后,您可以重新访问应用以进行可能的更改,以便提高性能。请每次进行一次这些更改,确认这些更改不会破坏功能。 这种进行较小更改的方法具有最高的成功率。 随着您对不同性能概念越来越熟悉,您将了解如何从一开始就使用这些概念来生成应用。 但在此期间,请构建可正常运行的应用,然后进行优化。

其他信息

为了补充本模块中的概念,下面额外提供了两个阅读选项,帮助您强化性能思维。

现在,您已了解优化性能的优势以及需要注意的一些常见问题,本模块的剩余部分将提供提高性能的技巧并介绍如何使用各种方法来测试应用。