我正在将Unity 2018.2.3与.Net 4.6脚本运行时一起使用。
我有两场比赛。当我使用IL2CPP后端构建时,apk大小总是大于Mono后端。
第一局:
单声道的APK大小:12.9 MB
带IL2CPP的APK大小:13.7 MB
第二局:
单声道的APK大小:39 MB
带IL2CPP的APK大小:45 MB
为什么会这样?
答案 0 :(得分:5)
发生这种情况有几个原因。
首先,带有Mono的Android版本会在APK中交付托管程序集。这些程序集会及时编译为Android设备上的机器代码。另一方面,IL2CPP提前将托管程序集编译为机器代码,并将机器代码发送到APK中。这些受管程序集中的IL字节代码比机器代码更紧凑,这有两个原因:
第二,默认情况下,Unity为带有IL2CPP的ARMv7和x86体系结构生成机器代码。由于IL2CPP需要提前生成该代码,因此重复了第一点提到的所有较大代码的问题。例如,如果不需要支持x86,则可以修改播放器设置以避免构建它。