如何给安卓apk瘦身?

           现在很多公司都尽量缩小发布apk的大小,  目的是提高用户体验。 但是像滴滴这样霸气的公司不怕你不用,   所以在这方面就没做优化, 现在的滴滴出行apk已经59M了, 就是这么屌! 显然是告诉用户在wifi环境里下载。 但大多数应用不能这样干,   因为没有像滴滴那样有垄断的地位。 言归正传, 减少apk体积主要分如下5个方面:

1、  apk插件化和动态加载,   将代码和资源分成多个apk包, 用户从应用市场下载的可能只是壳。 当用户点击某个按钮时再去下载对应的apk资源并动态加载, 典型案例就是支付宝。 而且插件化也是安卓面试中很常见的问题,   相关技术可参见博客:    http://weishu.me/


2、  老生长谈的优化数据结构,重构代码(用android studio的refactor菜单)等,  即减少java文件数和方法数(删除冗余代码)。   其实这样节省不了多少空间, .class文件很小。


3、   删除冗余的三方库, 并尽量换成体积小的三方库,  前提是综合判断性能、功能和空间, 也不能一味的追求体积小的三方库。 例如几乎每个互联网app都用到了百度地图或高德地图sdk,  高德地图sdk体积比较小很多, 区别主要是百度地图sdk有一堆的so文件, 而高德地图sdk不需要集成so,  所有建议用高德地图(占用空间更小)。


4、 减少res目录下资源文件的大小(主要是图片), 可以使用android studio提供的插件lintCleaner删除冗余的布局和图片。


5、  使用适当的图片压缩格式,   当然能用xml搞定的就不用其它格式的, 推荐优先级VectorDrawable->WebP->png->jpeg。图片压缩格式可见这个博文:  http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650236506&idx=1&sn=50e3f4d5bf9ca7f098482e680c1a577f&scene=23&srcid=0721ojbape0BVgFjpbbKy3Uh#rd


         综上, 插件化实现起来比较麻烦,  效果也最好;   其它4个方法主要是为了减少res和lib目录下的空间。


      我的微信公众号, 欢迎关注, 让我们一起成长大笑

                         


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值