记一次APP体积优化的经历

本文记录了一次针对体积达到70M的APP进行优化的过程。主要措施包括使用tinypng压缩图片,通过drawable-importer生成不同分辨率的图片,以及将图片转换为WebP格式。通过这些方法,APP体积最终降至13.3M,强调了体积优化在功能与体积不匹配情况下的重要性。
摘要由CSDN通过智能技术生成

APP介绍

在自己没做安卓开发之前,对于从应用市场下载的APP的体积很少关注,有时候看到要下载的APP体积很大,也会告诉自己这说明是APP的功能比较多,是强大的外在表现。后来我做了安卓开发之后,随着对APP的开发、优化、打包和上架理解的加深,才改变了这一想法,但是一般APP的体积都不会很大,所以也就仅仅是将体积优化方面的内容看看了解一下,很少在项目中使用,但是最近的一个项目却使我逼着自己去优化,因为这个APP的功能不多,但是体积却达到了70多M,真的是是可忍孰不可忍,毅然决然的走上了帮APP减肥的道路。
首先,有必要介绍一下,这款APP的主要功能,这款APP的首页是用来展示公司形象和业务范围的,你可以认为是把公司几十页的宣传海报分类后放到了首页,实际上也就是这样,
我的天哪,第一次见到这种APP,这真的是让我长见识了。界面效果大家可以参考YouTube的首页,只不过人家放的是视频,我们放的是图片。首页上展示了六个模块,点开之后进入的是一整张大的长图片,有的长图可以达到2M,想想都吓人。
好了,下面开始讲开发和优化中的过程和处理措施。

使用tinypng对原图进行压缩

在这里插入图片描述
压缩完之后再使用drawable-importer插件将图片生成多种分辨率放在文件夹下,在这里插入图片描述在这里插入图片描述
经过这一波操作后APK的体积大了很大,在android studio中有一个分析APK体积的工具,可以通过如下步骤进行分析:菜单栏中的Build -->Analye APK打开,打开后页面如下(这是随便新建的一个项目):
在这里插入图片描述
可以看到这里有各个部分在APK整体中的所占的大小和比例,一般来说都是图片占的比例最大,由于我在项目中使用的都是大图和长图,所以可以右键点击图片在出现的菜单中找到 Convert to WebP…,一路单机就可以完成转换,这个时候再打包或者分析APK,体积就会小很多。当然,还可以在app目录下的build.gradle中通过压缩来进一步缩减体积。
修改前:

 buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

修改后:

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

我在项目中就这样结束了APP的体积优化之旅。修改的成果还是很可观的。下面是我记录的各个部分优化前后的体积变化。

  • 最初:27.54M
  • 带有assets:72.98M
  • 无assets:71.92M
  • 将图片格式转为webp格式后:39.63M
  • 移除无用的图片资源后:17.67M
  • 不开启压缩:14M
  • 开启混淆和shrink后:13.3M
    以上就是整个APK优化过程,记录一下,以便告诉自己优化体积还是很重要的,尤其是在功能和体积不匹配的情况下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值