Android 包体积优化

目前公司的智能家居项目是一个2017年开始的产品,属于祖传项目。去年又经历了一次 AndroidX的升级,以及一次小范围的UI样式改版。因为是智能家居相关项目,涉及到的设备比较多,随着设备接入越来越多,且产品和UI对于不同设备之间的相关提示图片等做不到通用,导致图片资源也越来越多。以及一些冗余代码等也没有及时的优化等,导致包体积越来越大,对包体积的优化就越来越重要了。

记录下包体积优化前的安装包大小:

1.图片资源的优化

早期的适配方案是采用在不同文件夹(hdpi、xhdpi、xxhdpi等)放上不同分辨率的图片,ImageView的宽高设置为自适应(wrap_content)。而且又经历了一次UI改变,导致同个一些页面用的是新加入的图片,而原本旧的图片又不能删除。目前这个问题只能等待使用旧图片的页面做完改版后,才能将这部分图片删除。

既然图片不能删除,就只能从图片的大小进行压缩,从而降低apk体积的大小。目前图片压缩,采用的是:最优图像优化 - Recompressor

TinyPNG – 智能压缩您的WebP、JPEG和PNG图片

对图片资源进行压缩后,安装包体积大小如下:

 可以很明显的看到,通过图片的压缩,足足减少了17M。

2.dimens 资源的优化

由于用的是最小宽度屏幕适配(Android 屏幕适配_鹭岛猥琐男的博客-CSDN博客_android 开发屏幕适配),每个屏幕宽度引入的尺寸资源为412个,屏幕宽度尺寸总共为27个,即尺寸资源总共为11124个。在引入的尺寸资源中,有一些是负值和一些带小数点的尺寸(如3.5dp等),这部分是可以去除的。每个尺寸去除32个资源,总共可以去除32x27=864个尺寸资源。

 将这些资源删除后,安装包大小为:

 和前面相比,省下了43598字节,即省下 42.58kb。

3. AndroidStudio 删除无用资源

在 Anaylze 中选择 Run Inspection by Name,在弹出的对话框中输入unused resource,搜索对应的资源,可以筛选出无用的图片资源。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值