Unityframework-iOS可执行文件大小优化

2023-11-22  本文已影响0人  fighter0501

背景

目前编译出来的Unityframework可执行文件有170m,但是第三方那边是73.1m。因此我们急需优化Unityframework的可执行文件大小(第三方也用产品证明了是可以优化的)。

措施

一开始根据之前搞cocos的经验,猜测应该是unity那边设置一些配置。这样出来的库的可执行文件大小应该会减小。但是一番折腾后,没有找到可行的一些配置(因为也不太确定)。然后询问了第三方组件的同学,希望能给出一些建议。那边给的建议主要如下:

需要做很多裁包行为的,包括管线,用到的一些库之类的,以及项目本身的一些配置开关也会有影响(和unity版本关系不大,我们目前用的unity版本之前即构也用过),比如:

  1. 管线配置。
  2. 应该是把很多 unity API 库也打进去了,看看生成的可执行文件包内容里面能不能看到这些东西。

经过分析。看起来还是配置,因此尝试去setting里面鼓捣:

然后经过一些查找,以及验证。发现了两个配置确实有用:

环境

  1. 工程:xxxx commit:xxxxxxx
  2. 导出:为了避免unity同事自己写的导出工程插件有做设置处理,因此使用unity自带的导出工程导出。
image.png

尝试

尝试一:

IL2CPP Code Generation设置Faster (smaller) builds

image.png

经过测试compression method设置没有效果。

image.png

效果

包体积减小40m

image.png

尝试二:

开启Strip engine Code。并且Managed Stripping Level设置成High,但是网上说设置成High可能会造成闪退等问题。

image.png

效果

包体积减小约22m

image.png

尝试三:

Script Call Optimization设置成Fast but no Exceptions

image.png

效果

暂无效果(哈哈)

image.png

效果

Unityframework可执行文件大小由最初的170m降为104.7m,减小了65.3m(修改后会不会影响库的稳定性,还需要去验证)。

上一篇 下一篇

猜你喜欢

热点阅读