优酷 Android 构建速度优化实践

作者:苏彦郊(木磊)

Android 项目一般使用 gradle 作为构建打包工具,gradle 简洁、动态的功能特性为人津津乐道,同样,构建执行速度缓慢的缺陷也一直为人诟病。

近年来,随着优酷功能特性日益丰富,优酷的代码规模也急剧增加,同时,庞大的代码规模也带来了构建耗时的不断增加。整包构建耗时一度高达35min,严重影响集成与迭代效率。因此构建速度优化势在必行。截止 2021年 11 月份,优酷构建耗时优化取得较为理想的优化结果(如下),现将构建速度优化的实践方案记录成文。

android构建类型

2020年

2021

android debug 包构建耗时

12min

2.5min

android release 包构建耗时

35 min

12min

方案与收益统计图:

优化思路

技术优化类项目一般采用照设定数据指标、技术优化、成果防腐化三个维度展开。套用技术优化类项拆解可知,我们需要完成如下三个子项目:

  1. 设定数据指标:即收集与选取核心优化的数据指标,体现成果价值。本文选取构建耗时、构建失败率、小时维度构建次数等指标作为成果优化的数据支撑;
  2. 技术优化:通过影响构建速度的影响因素可知,包括软件与硬件两部分,所以构建速度优化可分为软件优化与硬件优化两大方向;
  3. 成果防腐化: 即维持技术优化指标不恶化,保障优化成果。

接下来,我将按照设定数据指标与结果防腐、技术优化——软件优化、技术优化——硬件优化三个部分展开。

优化方案

一、设定数据指标与结果防腐

优化类项目需要建立健全相应的数据指标体系,借由数据评判体积优化项与优化方案进行有效性判定。进行构建优化前,笔者基于阿里巴巴Aone FaaS( Severless 服务)平台搭建了数据评判与监控大盘。该大盘有构建类型、构建时间、构建成功率、构建任务耗时等多项指标,满足构建优化项目需要根据类型、任务频率、高耗时任务排查的需求。

完成相关数据能力建设后,通过构建关键数据指标——构建耗时与构建成功率的追踪和分析,进而得出构建耗时的主要影响因素为高耗时任务,构建成功率的主要影响因素为不合理的构建任务。因此,我们可以通过高耗时任务报警与不合理任务报警,快速发现并分析构建速度恶化情形,进而保障构建耗时优化成果。

二、软件优化

1、构建侧去atlas

Atlas是伴随着手机淘宝的不断发展,进而衍生出来的一个运行于android系统上

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值