缩减apk大小

来到新公司一般第一步是安装吃饭的工具,而第二部一般就是熟悉代码啦,我第一眼看到我们应用居然 >37M((汗!!))这还是1.0版本,功能也不多。。。我在优化的时候正好写一下文章,技术大牛请略过,因为都是一些基础的东西。

第一步:优化资源文件

1、查看图片,居然有几个500k的无用图片。。。,就算有用也太大,直接可以找设计让他们进行无损压缩。什么?他们不知道??我给你工具 TinyPNG 用法嘛,百度君知道。

不能把工作放到后面处理,我们开发在以后收图标和图片的时候,一定要注意大小,当时直接打回去,一个icon,3X的差不多也就1k~3k,图片最多接受100k

2、查看无用drawble文件,layout文件,这个有专门的工具进行排查

第二步:除去无用第三方

我在优化的过程发现有好几个没有用的第三库和/Android库,写到build里就会打包到我们的apk中

第三步:去掉市场率占用很低的cpu架构的so

这其实不是一个正确缩减apk大小的方式,英文每一个cpu架构他都有各自的处理机制,虽然有些可以做到兼容,但是优化的功能就用不了,当然这个也看自己应用的情况,像我们公司,刚开始创业,市场率很低,就没必要了,就连淘宝,qq他们都不是全部兼容,光说不练假把式,我们看下他们的apk

缩减apk大小_第1张图片
qq的apk分析.png

我们可以看到,QQ只有一个armeabi

缩减apk大小_第2张图片
淘宝的apk分析.png

淘宝也是只有armeabi

当然,你的项目里可以提供支持多个 CPU 架构的 SDK ,可以同时提供多个目录的 so,虽然此时 SDK 相对较大,但是被编译的 so 还是以你在 gradle 里设置的支持的 ndk 为准:

defaultConfig {
  ndk {   //只编译armeabi架构
    abiFilters ‘armeabi’ // , ‘arm64-v8a’, ‘x86’, ‘x86_64’ ,"armeabi-v7a’"
  }
}

不太懂cpu架构这块的可以查看Android 多CPU架构支持所需要了解的知识

进行这一步,来看下apk已经到了21M,降了16M,是不是很有成就感

不过路还有很长,我的目标是降到15M左右,越往后降的大小就越少!

未完待续~~~

大最后分享一下接下来我的任务,大家都知道65K这个事情吧,解决方案是弄多个dex,我发现我们应用有70+个dex文件(汗一直流~~~)

缩减apk大小_第3张图片
我们的apk分析.png

(注)本文提到的分析工具是AndroidStudo自带的分析apk工具,点击查看用法

你可能感兴趣的:(缩减apk大小)