最近在做apk优化,了解了一下不同的资源文件对apk,主要研究的是无效代码,资源文件,原生文件对apk大小的影响,具体情况如下:
- 代码方面(主要是查看无效import语句):
可以看到该类中包含了许多无用的import语句,编译、打包查看apk文件大小。
可以看到我们的apk的大小是:49899字节;
然后我们删除无效的import语句:
编译、打包:
可以看到49897字节,可以看到大小还是有变换的,当然这是因为项目无效import语句少的缘故,我在我们项目中使用,apk大小从:
- 12146518 –> 12143113 字节,减少了3405字节,当然是有影响的,但是比较少而已。
这里推荐一个android studio的设置,可以避免引用无效的import语句:
将复选框全部选中,在java源文件中引用包名的时候就可以删除无用的import语句了。
- 资源文件方面
还是以刚刚的项目为例,大小为49897字节,我们添加一个图片资源但是不引用:
编译、打包:
可以发现apk文件的大小增大不少,也就是说我们添加的资源文件即使不适用的话,IDE在打包apk的时候也会将其打包进入apk安装包中。
- 原生文件方面
还是以刚刚的项目为例,原本的大小为49897字节,我们在assets目录下添加一个原生文件:
编译、打包:
可以发现apk文件的大小也发生了变化,说明原生文件也会打包进入apk中,即使没有使用。
好了,到此我们可以知道了:
- 无效代码,没有引用的资源文件,原生文件都会被打包进入apk文件中所以我们平时编码过程中要注意细节一些没有使用的代码,资源文件都需要删除。