您的位置:首页 > 移动开发 > Android开发

Android APK瘦身

2017-07-16 20:08 169 查看
现在APK动不动就是几十兆,当用户连接到3G和4G网络,或者按流量收费的设备是多么的浪费,所以对APK瘦身还是很有必要的。

1 开启minifyEnabled混淆代码

在app/proguard-rules.pro编写混淆规则,根据自己项目依赖的库一一混淆,这里就不提供具体混淆代码了。

2 开启shrinkResources去除无用资源

在app/build.gradle打开shrinkResources, shrinkResources依赖于minifyEnabled,必须和minifyEnabled一起用,就是打开shrinkResources也必须打开minifyEnabled。

3 删除未使用到xml和图片

如何知道哪些xml和图片未被使用到?使用Android Studio的Lint,步骤:点击菜单栏 Analyze -> Run Inspection by Name -> unused resources -> Moudule ‘app’ -> OK,这样会搜出来哪些未被使用到未使用到xml和图片

4 删除未使用到代码

同样使用Android Studio的Lint,步骤:点击菜单栏 Analyze -> Run Inspection by Name -> unused declaration -> Moudule ‘app’ -> OK

经过一番清理,APK大小 10880 KB,才瘦了11KB,我以为能瘦很多,不过,平时必须保持良好的编码习惯,哪些没有使用到的代码还是删删掉吧,不要想着以后还会用到。重复操作上一步和这一步,会有意外的发现哦。

5 png图片格式转成jpg

将一些大图的格式转成jpg格式,将会有效减小图片的体积

6 使用vector

做得app,一开始图标都是图片,且每个drawable都有相应尺寸的图标,占了不少大小,后来部分用vector代替了图片。注意一点,Button在xml里设置app:srcCompat居然无效,只能在代码里设置:

button.setImageResource(R.drawable.ic_favorite_border_black_24dp)。

7 使用shape作为背景

很多点击效果可能会使用到图片,可以换成shape是实现,我查看了下,微言APP都是shape实现的,Good。

8 使用TinyPng

如果对png图片格式转成jpg,减小效果还不满意,直接使用TinyPng智能有损压缩技术,网址:https://tinypng.com/ ,压缩效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android