HarmonyOS 开发实践 —— 首页滑动场景性能优化案例

   日期:2024-12-27    作者:chengwei8410 移动:http://mip.riyuangf.com/mobile/quote/61751.html

通过性能测试工具测试发现,某应用热门资讯页滑动存在丢帧卡顿问题,最大连续丢帧数2帧。如果不通过性能测试工具集进行分析,开发者需要:复现问题、抓取trace、分析trace,找出丢帧问题点,操作步骤多,耗时较长。

Harmo<i></i>nyOS 开发实践 —— 首页滑动场景性能优化案例

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

1. Code Linter 目标检测规则

应用热门资讯页滑动场景是典型的长列表滑动场景,根据经验影音娱乐类型普遍存在页面复杂度过高的问题,通过对接组件复用、扁平化布局可大幅提升帧率。我们选择的目标Code Linter检测规则是:

2. 体检工具目标检测规则

针对滑动卡顿丢帧的场景,应用体检工具有针对性的体检规则,我们选择的目标体检工具检测规则是:

1. 使用 Code Linter 检测性能问题

打开代码编辑器窗口,单击右键点击Code Linter,或在工程管理窗口中鼠标选中单个或多个工程文件/目录,右键选择Code Linter > Full Linter执行代码全量检查。

2. 使用体检工具检测性能问题

选择Benchmark性能测试勾选应用内滑动过程流畅最佳实践勾选避免过大的组件树节点数目。启动检测后工具会自动全遍历应用进行滑动检测。

大概12分钟后,体检结束,报告结果显示首页滑动卡顿率达到349.34ms/s,超过了5ms/s的阈值,体检不通过。

使用性能分析工具进一步分析性能问题根因

为了进一步分析并确认丢帧根因,用profiler打开体检结果中归档的trace信息,可以看到在滑动过程中最长帧23ms,在这一帧有29个组件刷新、590个属性设置,负载高,需要想办法降低组件的复杂度以及考虑使用组件复用减少组件创建。

优化方案及优化收益

优化措施:

(1)通过应用内滑动过程流畅不达标的结果中提供的赋能套件链接跳转到组件复用使用指导: 组件复用

(2)通过避免过大的组件树节点数目不达标的结果中提供的赋能套件链接跳转到合理使用布局指导: 精简节点数

优化后性能测试工具再次测试优热门资讯页滑动的场景,滑动卡顿0次,最大连续丢帧数0帧,比优化前下降了2帧。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号