内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

移动端性能优化:猪的速度(iOS)

2018-06-08 17:19 出处:清屏网 人气: 评论(0

苏国龙

2016年加入Qunar,负责平台的质量保障工作。2011年参加工作,之前先后在华为和百度从事测试开发工作。在华为工作四年,连续4年绩效在前10%,并且拿到金牌一枚,主要负责平台中间件的性能、可靠性等测试工作,以及自动化建设;在百度金融工作两年,主要负责商户、基础服务等测试,并且参与自动化架构设计。

概述

本文主要是介绍iOS大客户端性能优化的过程和成果,过程后面详述,我们先陈述一下我们的成果。优化前大客户端启动耗时在2~3秒,80%的用户从点击icon到看见首页耗时在6秒左右,某猪的启动耗时是0.5秒左右,从点击icon到看见首页大概在3.6秒,我们的启动耗时是某猪的5倍,优化后内测数据显示我们的启动已经不低于猪的速度,优化后80%的用户启动速度有由 2.41秒优化到1.09秒 ,看见首页由 5.91秒优化到3.89秒

优化过程

很早就有人反馈大客户启动慢,但是我们有多慢,一直没有一个具体的数据,所以我们做的第一步就是埋点统计。数据埋点之前,首先要对启动逻辑的实现进行梳理,其次要结合现有的统计数据。在5月临时版我们添加了启动耗时、IM组件加载耗时和微信加载耗时的统计。数据如下:

我们 80% 的用户从点击 icon 到看到首页需要 6 秒,而且这时候首页还不一定完成加载。没有对比就没有伤害,我们选用同一个手机在相同环境下与某猪某团进行对比测试,数据如下图:

知道与别人的差距之后,再回来看看我们自身慢在了哪里,通过代码走读和埋点统计,发现主要集中在一下几个方面:

一)网络依赖,超时设置

某组件在启动的主线程中进行加载,且超时时间设置为10秒。

二)定时处理

1)品牌广告页设置有固定时长;

2)开屏广告展示固定时长;

3)开屏广告消失动画固定时长。

三)代码逻辑

1)以下线的业务代码未删除;

2)可以延迟或懒加载的业务放到启动中去;

3)第三方sdk非必要的功能关闭;

4)代码实现

首页入口数量增长是耗时增量较大,没有采用高性能的实现。

优化成果

我们第一期优化已上线,80%的用户启动速度有由 2.41秒优化到1.09秒 ,看见首页由 5.91秒优化到3.89秒 ,为了降低回归成本,一期我们只针对加载时机优化、非必要逻辑的删除和代码实现的优化。详细数据如下:

 


分享给小伙伴们:
本文标签: 移动端性能优化

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号