点击响应时延性能优化案例

FengTianYa
发布于 2024-9-25 09:31
浏览
0收藏

场景描述

通过性能测试工具测试发现,某应用首页点击一条新闻的响应时延121ms,​页面切换响应时延推荐值为100ms​,如果不通过性能测试工具集进行分析,开发者需要:复现问题、抓取trace、分析trace,找出丢帧问题点,操作步骤多,耗时较长。

本场景通过采用静态检查工具进行问题发现、定位及修改。

点击响应时延性能优化案例-鸿蒙开发者社区

目标规则

点击时延相关的检测规则,推荐@performance/high-frequency-log-check,在onTouch、onAreaChange、onScroll、onActionUpdate等高频热点操作中,尽量避免调用或嵌套调用hilog/console做日志打印,在高耗时函数处理场景下,建议优先修改。参考文档:​@performance/high-frequency-log-check​。

使用性能检测工具检测性能问题

打开静态检查工具 Code Linter,点击扫描工程,扫描出总问题数“698”个,基于扫描结果文件,在“RuleName”列过滤出“@performance/high-frequency-log-check”规则相关的代码问题点,见下图。

@performance/high-frequency-log-check扫描结果截图如下:

点击响应时延性能优化案例-鸿蒙开发者社区

通过“Source File”列可以看到具体的页面文件,“Line”列可以看到具体的代码行。根据告警信息中显示的调用链信息,再结合实际的业务逻辑判断问题代码行确实是会存在高频打印日志的情况,这些日志是调试定位日志,在正式发布的时候不是必需的,再按照函数调用高频程度依次优化log打印。

优化方案及优化收益

  1. 根据提示修改完问题后,再通过Code Linter静态检查工具检查,无此问题。
  2. 通过优化前后性能测试工具对比结果数据可以看到,首页点击新闻的场景,响应时延有明显的性能收益,优化前响应时延121ms,优化后响应时延91ms,响应时延下降24.79%,达到了推荐值。


分类
已于2024-9-25 10:12:23修改
收藏
回复
举报
回复
    相关推荐