美文网首页性能优化
Android 性能优化 缩小apk 包

Android 性能优化 缩小apk 包

作者: 百花鱼藤 | 来源:发表于2017-07-06 14:53 被阅读90次

    一 、包大小分析

    在Android Studio工具栏里,打开build–>Analyze APK, 选择要分析的APK包

    以看到占用空间的主要是代码、图片、资源和lib和assert文件,主要方向精简代码、压缩图片、去除无用的库、减少asserts里面文件。

    二、开启shrinkResources去除无用资源

    使用前:

    比较前后少了0.8M

    三、清理无用资源

    在Android Studio工具栏里,打开Refactor–>Remove UnUsed Resources

    四、删除无用的语言资源

    五、使用tinypng有损压缩

    TinyPNG工具只支持上传PNG图片到官网上压缩,然后下载保存,在保持alpha通道的情况下对PNG的压缩可以达到1/3之内,而且用肉眼基本上分辨不出压缩的损失.Tinypng的官方网站:http://tinypng.com/

    六、使用jpg格式

    如果对于非透明的大图,jpg将会比png的大小有显著的优势,虽然不是绝对的,但是通常会减小到一半都不止。在启动页,活动页等之类的大图展示区采用jpg将是非常明智的选择。

    七、覆盖第三库里的大图

    有些第三库里引用了一些大图但是实际上并不会被我们用到,就可以考虑用1x1的透明图片覆盖。你可能会有点不舒服,因为你的drawable下竟然包含了一些莫名其妙的名称的1x1图片…

    八、精简so

    删除armable-v7包下的so

    基本上armable的so也是兼容armable-v7的,armable-v7a的库会对图形渲染方面有很大的改进,如果没有这方面的要求,可以精简。

    这里不排除有极少数设备会Crash,可能和不同的so有一定的关系,请大家务必测试周全后再发布。

    删除x86包下的so

    与第十条不同的是,x86包下的so在x86型号的手机是需要的,如果产品没用这方面的要求也可以精简。

    建议实际工作的配置是只保留armable、armable-x86下的so文件,算是一个折中的方案。

    九、使用shape背景

    特别是在扁平化盛行的当下,很多纯色的渐变的圆角的图片都可以用shape实现,代码灵活可控,省去了大量的背景图片

    十 、使用着色方案

    相信你的工程里也有很多selector文件,也有很多相似的图片只是颜色不同,通过着色方案我们能大大减轻这样的工作量,减少这样的文件

    mutate未起作用,所以加载了两遍

    十一、避免重复库

    避免重复库看上去是理所当然的,但是秘密总是藏的很深,一定要当心你引用的第三方库又引用了哪个第三方库,这就很容易出现功能重复的库了,比如使用了两个图片加载库:Glide和Picasso。

    十二、清理第三方库和冗余代码

        版本迭代过程中,因为删减功能经常有冗余代码和第三方库留下,这或多或少都会增加包体,这种情况没有捷径,只能每个文件查找,这是苦力活。还有要查看第三方库有没可能精简,比如谷歌分基础、广告和分析包,网络库、supportv4等,这个就具体情况具体分析。

    十三 、使用 微信 打包工具 AndResGuard

         执行  gradlew resguardRelease 命令后比较 

         前后相差1.5M,效果还是很明显的。

    相关文章

      网友评论

        本文标题:Android 性能优化 缩小apk 包

        本文链接:https://www.haomeiwen.com/subject/opochxtx.html