apk、ipa包size优化手段

25 篇文章 0 订阅
  1. 删除冗余代码和资源
  2. 能简单用代码画的图形,不使用图片
  3. 能使用系统API自己实现的,不使用第三方库。第三方库一般会考虑通用的情形,实际上不会用上它的全部功能。
  4. 重构
  • 抽离类似的代码做成通用的模块,减少复制粘贴出来的代码。
  • 删除过度设计的代码:看似抽象分层做得很好,但实际不会有作用的代码。(例如,只有一个子类的基类)
  • 算法优化,使用更少的代码来实现同一功能。
  1. 启动图:不使用多张图片来匹配不同分辨率,而是在UI设计上居中,用代码来实现
  2. 分包:不常用的功能做成插件包,可后续下载安装
  3. 使用网页代替原生页面来展示数据:把数据通过url传参,由WebView来显示数据
  4. 使用编译后size较小的语言
  • swift因为把运行时库也集成到包里,所以非常大
  • C,C++,Objective-C的编译结果是逐渐增大的
  • Android上,C++因为有多个CPU架构,虽然性能高,但size比java大
  1. 压缩资源
  • 图片、视频有损压缩,但不影响清晰度。使用压缩率高的文件格式。
  • 使用9-patch或stretch图片
  • 资源压缩,首次运行再解压出来
  • 在深层次路径的,首次运行再下载
  • minify或uglify json、xml等文本型资源(即去除换行、空白符、简化变量名等)
  1. 用代码实现代替可反序列化布局文件。xib、storyboard、xml等
  2. 编译参数优化(参见java、llvm或gcc等工具链的说明)
  • size最优化,编译或运行速度次要
  • 对不得不使用的第三方库做精简
  • 去除symbol
  • 去除不需要支持的CPU架构
  • 去除没使用到的代码
  • 去除调试代码,例如log
  • 混淆
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hursing

来一个五羊香芋甜筒~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值