贝壳找房APP安装包瘦身

一、背景
在满足产品、UI要求的前提下,尽量减少安装包体积。
在这里插入图片描述
以customer插件为例:
插件大小为5MB, 其中1MB是dex,而bkbase占了dex的580KB;
3.1MB是图片。 减少res目录体积效果会更明显。
二、方法
1、删除冗余代码、资源文件, 可使用lint扫描; 安卓端在编译release包时设置shrinkResources为true, 即不会打包冗余资源到输出物;
2、代码重构,能复用的尽量复用;即减少类、方法、参数数量;
3、预置资源(字符串、图片)尽量复用, lint可以扫描出相同、相似图片, 保留一个就可以了;
4、非必须预置资源文件(例如图片)使用其它方式实现(例如shape),并用api下发的资源刷新;
5、占位编译依赖库;
6、混淆;
Java知识点:使用@IntDef,@StringDef替换枚举, 原理enum生成的.class占1KB左右。

三、待优化项
PS: 文件大小以release包为准。
删除重复图片、代码、冗余资源、无用import,以customer为例:
重复图片
在这里插入图片描述
在这里插入图片描述

冗余代码

待讨论: shape.xml在打包时占300~400字节, 是否必要改用代码生成GradientDrawble???
在这里插入图片描述

替换预置图片(Android/iOS):
在这里插入图片描述
顶部蓝色背景图可以先用shape实现, 然后用url下载图片后刷新。

瘦身还有个神兵利器:
Matrix-ApkChecker 是微信开源的一个apk分析工具,
功能:具有分析apk组成,冗余文件,未压缩文件,并提出优化建议等功能,并将各项数据可视化输出,可定制输出格式。
集成方式为:jar方式集成到到打包机上即可。但是我们的app使用插件话所以可能需要定制一下扫描路径去扫描每个插件。
效果:帮助量化Apk瘦身,并检测apk冗余成分
使用文档:https://github.com/Tencent/matrix/wiki/Matrix-ApkChecker#matrix-apkchecker-的使用
相关文章:https://mp.weixin.qq.com/s/tP3dtK330oHW8QBUwGUDtA

比lint好用, 剩下的就是体力活儿了。

首家百分百开源产系统网站,帮您一站式快速搭建类似58.链家,安居客网站平台 产系统,全网唯一拥有pc端+手机端内外网erp和外网运营的中介系统,适用于产门户和联盟的多个场景, 拥有新、二手、出租、小区、问答等多套系统满足各类型产企业电商化发展需求 ; 产品特色: 网站所有信息和软件系统同步,技术方案成熟稳定,支持各类产中介业务场景,可以方便的进行网站的管理,实现高度的信息化, 帮您一站式快速搭建类似于链家,58,我爱我家,多多,Q网, 天下,等网站平台,提升了企业品牌形象和服务范围,客户可实现在线的源查询和发布。 建立自己的运营平台,拥有自主的产电商平台,不仅能够便捷地接收网络订单,还能挖掘更多的潜在客户; 多区域分站平台,系统后台管理员对某区域绑定相对应子域名就能迅速形成一个新的分站系统,快速跨区域扩张自已的业务。 开拓连锁加盟事业,运用系统超强的会员分配权限,可以提供自主运营与加盟运营相结合模式。加盟商的管理权限可以自由分配。 二次开发成其它电商产品,系统源码提供,丰富优秀的源码能支持您迅速二次开发成您所需求的其它产品平台。 产电商细分门户,根据运营者的需求,可对家新,二手、出租、商业地产(商铺与写字档)、楼盘分销等功能模板单独或组合运营。 平台植入广告,吸引客源,增加企业知名度,树立品牌形象,达到互利共赢,专业的网络维护交给我们,您只管专心做好平台运营。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值