随着移动互联网玩法的不断升级,性能优化变得越来越重要。在追求移动端 APP 体验的背后,需要在性能方面做到极致。本文通过对优酷 iPad 在启动耗时、核心页面加载耗时、页面帧率等方面的优化,验证了性能优化在提升用户体验的同时,拉升了高活用户占比。
一、写在前面
在相同的系统 iOS 下,iPhone 和 iPad 有着不同的用户群体,导致同一 APP 的不同终端,机型占比相差甚远。对于优酷 iPhone 和优酷 iPad 而言,按设备的硬件性能、系统版本分析,用户分布差异较大,迫使优酷 iOS 的同一功能在 iPad 的降级力度大增。比如 2019 年双 11 猫晚直播间,优酷 iPad 端除了能看“简洁”的直播和简单的文字评论外,还不能参与其他直播互动。
优酷 iPad 低端机型占比在三成左右,为了提升低端机型的用户体验,性能优化不失为一种较高投入产出比的方案。
二、优化策略
性能优化开工前,我们对现状做一次全方位摸底,采取“靶向策略”,逐个进行优化。具体步骤如下图:
1)指标收集:结合用户行为分析,排序业务场景,根据场景优先级,结合客诉等数据,逐个场景分析性能痛点,搜集性能指标。然后根据时间安排、人力投入等筛选出一级指标、二级指标;
2)行业分析:确定技术指标后,与同类 APP 进行指标的性能对比。根据性能差异和投入产出比,进行技术立项;
3)目标制定:结合业务,分析性能漏斗,得出各项性能天花板及初步优化方案,制定合理的技术指标目标;
4)逐个击破:性能折损漏斗深度分析,根据折损漏斗和瓶颈,进行折损点排序,从高优折损点逐个优化;
5)分桶实验:验证某个优化的可行性和效果,排除干扰因素;
6)灰度验证:结合分桶实验,灰度上线验证优化后的效果;
7)纠偏补漏:根据灰度后的数据分析,纠偏优化手段。步骤 4~7 反复进行,逼近目标值;
8)数据分析:完成各项指标,并留意和分析性能优化对各项业务指标的影响;
9)汇报总结:图表形式汇报总结,项目交差;
10)沉淀传承:输出文档或技术博客,供他人学习或借鉴。
三、前期准备
性能指标因机型差异而制定相应的目标值,根据优化基线和目标值应该选出不同分级的代表机型,确定统计口径,所以在开工前,我们需要做以下几点:
机型分级
根据机型分布、机型内存占比、机型 Abort 占比等信息进行 iPad 机型分级,将所有设备划分四个等级:高、中、低、超低端机型。
实验室测试设备
结合各机型的用户占比和评分,选定高、中、低、超低端机型代表,供实验室测试使用。
统计口径和优化基线
与 QA 和各端约定统计口径,便于横向、纵向对比。根据统计口径进行实验室数据采集,并结合同行 APP 性能分析,确定各项优化指标和目标值
性能工具和平台
工具接入:掌中测(性能分析工具)、诺贝尔(分桶实验)、ImageOptim(图片压缩)。
平台接入:CTM 代码覆盖平台、baymax 平台、APM 数据平台、竞品分析工具。
目标制定
时间内低端机型(iPad mini3)启动耗时低至秒;播放页加载耗时低至秒;重要页面的帧率达到 FPS。
人力安排和规划
根据 2.4~2.7 的步骤按版本制定计划,并协调好测试资源。
四、优化实践
启动耗时优化
启动优化宏观层面有三大抓手:pre-main 阶段 -> 启动项阶段 -> 首屏渲染阶段;微观层面因业务差异而千差万别。
播放页加载优化
频道、热点加载优化
帧率优化
五、数据对比
启动/加载耗时优化前后对比
通过上图,优化前后各类耗时都有明显提升,尤其是播放页的热启动耗时。优化后的低端机型各项耗时指标远超选定的两款同类 APP 对应指标。
帧率优化前后对比
通过上图,优化前后低端机型各页面的帧率有明显提升,接近中、高端机型帧率,且远超选定的两款同类 APP 对应页面帧率。
APM 大盘数据(优化前、后)
1)启动耗时分布占比
优化后,启动耗时占比分布整体大幅前移,说明线上用户的启动耗时大幅下降。
2)播放页加载耗时分布占比
优化后,播放页加载耗时占比分布整体大幅前移,说明线上用户的播放页加载耗时大幅下降。
高活用户占比
优化后,高活用户占比相对提升 5.6%。
作者 | 阿里文娱高级无线开发工程师 亖石
评论