为你的App瘦身,优化你的App

来源:互联网 发布:四轴加工中心编程例子 编辑:程序博客网 时间:2024/04/28 05:18

废话不多说,直奔主题

问题:为什么要给我们的apk瘦身?

1、安装包比较大。废话!如果是走公司的流量,恨不得你的apk小到几kb在不失功能情况下。流量就是money。

2、期望能通过瘦身,降低APK的体积,显得体积小,功能强!

可能优化的点在哪?

首先要仔细思考:

  • 1、减少切片,大图,及背景图

  • 2、图片压缩,采用.9图片。

  • 3、采用压缩率更高的webp图片格式,代替当前的png格式

  • 4、清理不需要的布局文件,XML格式资源文件,图片资源

  • 5、删除一些用户量极少,“无意义”的功能

  • 6、检查第三方包,把不需要的组件、图片之类的删除或替换

  • 7、降低so库的体积

  • 8、把部分页面做成H5,客户端删除这部分功能

  • 9、自查代码,尤其是逻辑相似的部分,抽出去来,删除冗余代码

  • 10、降低插件体积,采用增量更新

先放图,看看我的瘦身之后的效果:

来看一下,如何具体实现

  • 1、lint使用

    采用lint工具,删除了大量无用的资源。有一定作用。Android studio集成了lint工具,检测“unused resoure“及unused declaration等。这里我们使用lint检测了无用的资源文件。
    另我的量一篇文章有介绍

  • 2、其他团队so库的体积减少,作用明显著,尤其类似于百度地图,直播软件

  • 3、代码冗余部分:效果非常有限,你再减少也少不了几kb

  • 4、使用图片压缩工具,有一定作用
    Google推荐图片压缩工具:https://developers.google.com/speed/docs/insights/OptimizeImages,市面上有许多工具可用来对JPEG和PNG文件执行进一步的无损压缩,且不会对图片质量造成任何影响。对于JPEG文件,我们建议您使用jpegtran或jpegoptim(仅适用于Linux;使用–strip-all选项运行)。对于PNG文件,我们建议使用OptiPNG或PNGOUT。

  • 5、H5页面,作用明显,而且H5适配非常简单啊

  • 6、支持插件so,插件支持网络加载so及更新原则,作用明显

  • 7、代码混淆,jar包资源混淆

  • 8、TinyPng压缩图片  点我进入网站测试

TinyPng能够在视觉上几乎不
影响图片的情况下显著压缩图片体积。
从图中可以看到,压缩3次以后基本上体积就很难再减少了,压缩5次以后体积基本上就不变了,值得高兴的是,即使不停的压缩,图片依然不会太失真(但这是有损压缩,有时候alpha通道会给你压缩没了)。如下,压缩5次后的对比图:

TinyPng好用的地方:

1、图片压缩后对视觉影响不大,但体积显著减小

2、可以批量压缩

3、压缩后文件名与原文件名相同,可以直接替换,尤其是批量压缩的时候

4、可以反复压缩5-6次,而不用担心太失真,肯定会失真啦,不影响视觉效果

5、简单有效,还不要钱

附压缩了三次之后的图片,真心强悍,肉眼无差别:

5 0
原创粉丝点击