优化Android平台APK的大小

在游戏项目中,当我们在打包各个平台时,总希望每个平台的包能够最小化便于分发,而且上架某些平台还有明确的大小要求。对于UE而言,它包含了巨量代码以及大量的插件,Build阶段还将生成反射的胶水代码,在编译时产生了大量的代码段。以Android平台为例,将导致libUE4.so的大小急剧增长,对于包体和运行时内存都造成了压力。再加上一些引擎必要和额外带入的资源也能占据上百M,空APK的大小很容易达到数百M的规模!不仅仅为了符合上架平台的要求,从包体和内存优化的角度,也有必要对UE包的大小进行裁剪。

包大小分布

在APK内,游戏相关的空间占比较大的部分,为下面几项:

  1. 可执行代码(so - lib/arm64-v8a

  2. main.obb.png(游戏内资源Pak、DirectoriesToAlwaysStageAsNonUFS的部分)

  3. 第三方组件拷贝进APK内的文件

需要分别针对上面列出的三种情况,分别制定具体的优化策略。

压缩NativeLibs

当APK安装时,对于NativeLibs有两种处理方式:

  1. 安装时解压so到应用的内部存储目录( /data/app/<package_name>/lib/

  2. 直接从APK文件中加载so,可以加快安装过程

而它就引出了一个问题:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

银行金融科技

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值