###apk瘦身
- 1.使用一套图资源
对于绝大对数APP来说,只需要取一套设计图就足够了。鉴于现在分辨率的趋势,建议取720p的资源,放到xhdpi目录。
相对于多套资源,只使用720P的一套资源,在视觉上差别不大,很多大公司的产品也是如此,但却能显著的减少资源占用大小,顺便也能减轻设计师的出图工作量了
-
2.开启minifyEnabled混淆代码
-
3.开启shrinkResources去除无用资源
-
4.删除无用的语言资源(大多数情况仅仅需要中文)
android{ defaultConfig{ resConfigs "zh" } }
-
5.使用tinypng有损压缩
android打包本身会对png进行无损压缩,所以使用像tinypng这样的有损压缩是有必要的。 重点是Tinypng使用智能有损压缩技术,以尽量少的失真换来图片大小的锐减,效果非常好,强烈推荐。
Tinypng的官方网站:http://tinypng.com/ 拖进去就可以
-
6.对于非透明的大图使用jpg格式 jpg将会比png的大小有显著的优势,虽然不是绝对的,但是通常会减小到一半都不止。在启动页,活动页等之类的大图展示区采用jpg将是非常明智的选择。
-
7.使用webp格式(系统版本需要兼容)
webp支持透明度,压缩比比jpg更高但显示效果却不输于jpg,官方评测quality参数等于75均衡最佳。
相对于jpg、png,webp作为一种新的图片格式,限于android的支持情况暂时还没用在手机端广泛应用起来。从Android 4.0+开始原生支持,但是不支持包含透明度,直到Android 4.2.1+才支持显示含透明度的webp,使用的时候要特别注意。
官方介绍:https://developers.google.com/speed/webp/docs/precompiled
-
8.shape替换一些背景
-
9.selector 处理不同颜色图片使用着色方案
-
10.覆盖第三方库里的大图1x1
有些第三方库引用了一些大图,但实际上并不会并我们用到,第三方的图片通常会拷贝到我的项目中,因此我们可以使用同名1X1像素透明图片进行覆盖
-
11.第三方库避免重复引用
-
12.在线资源应用
-
13.插件化
-
14.删除armable-v7下so
-
15.使用7z极限压缩图片