集成环信后APK瘦身之旅

前言

apk瘦身作为性能优化的一部分,它的大小决定安装的时间与占用的内存,进行针对性的瘦身也能够提高用户体验,下面我来讲一下我在集成了环信3.xSDK是怎么将暴涨的apk降下来的。(PS:集成环信后apk体积大约增加了18M左右)

##1.删 使用Android Studio我们可以通过Lint删除没有用过的资源: 选择inspect code…

项目中集成了环信SDK,看个人项目的需求来,如果不需要全盘使用它提供的所有功能,那我们可以对此进行选择。考虑到开发者需求不一样,在下载的 SDK 中,环信提供了两个不同的 jar 包:

  • 一个是 libs 下带实时语音功能和实时视频功能的 jar 包和 so 文件。
  • 如果你不需要实时语音、实时视频功能,那就直接用 libs.without.audio 文件夹下的 jar 包及 so 文件。

像我的项目中仅仅只需要用的环信的聊天功能,而我偷懒,通讯录也是直接套用的环信的,O(∩_∩)O~ 我们可以看到环信的EaseUI 下面的lib里的jar包其实有很多可以去掉的,这个我就不过多赘述,根据你们的需求去删吧。

删完多余的jar包,其实我们还可以把从环信Demo那拷过来用的多余的文件(activity、adapter、fragment...)去掉,还有资源文件尤其是图片。毕竟我们只需要它三个东西:聊天列表、会话窗以及通讯录。这些我也偷懒不一一写上来了,如果不知道可以私信。

##2.压 我们的项目打包成apk时,图片占用了大部分体积,所以图片的优化首当其冲。我使用的是TinyPng在线压缩工具,压缩前主要图片的大小(8.65M),弄完以后现在不到2M了。压缩的时候碰到个问题,.9图片我转出来后as报错,说是什么left像素不能透明,找了解决方案没找到,知道的伙伴可以留言指导一下哦。

这是app下的

这是环信easeui下的(这是删完以后压缩的)
效果是不是很可观啊,而且压缩后的图片质量也很好,完全满足应用所需的质量要求,项目中一些简单的图片也可以使用SVG矢量图;

##3.混淆 -keep class org.xmlpull.** {;} -keep class com.hyphenate.** {;} -keep class com.hyphenate.chat.** {;} -dontwarn com.hyphenate.** -keep class org.jivesoftware.** {;} -keep class org.apache.** {*;}

2.0.9后加入语音通话功能,如需使用此功能的api,加入以下keep

-keep class net.java.sip.** {;} -keep class org.webrtc.voiceengine.** {;} -keep class org.bitlet.** {;} -keep class org.slf4j.** {;} -keep class ch.imvs.** {*;} -keep class com.superrtc.** { *; }

好了,到这里就差不多了,环信还是坑比较多的,大家有什么心得欢迎分享出来,一起进步!

转载于:https://juejin.im/post/5abb3b9d6fb9a028bf055d39

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值