我有一个用unity 2d制作的应用程序。将其导出到android的重量为100MB。将其导出到iOS的重量为1.2GB(ipa为104MB),但在iTunes内部的重量为1.2GB,这太多了。

我们尝试减小纹理大小,但是随后图像在设备上变得非常像素化。

有想法该怎么解决这个吗?

这是未压缩的.ipa文件,它显示出正在获取所有MB的内容:

sharedassets4.assets(仅该文件即可获得342 MB)

最佳答案

iTunes会显示安装大小,因此,如果您解压缩ipa文件,则将获得1.2GB的存储空间。 Android上的安装大小也可能那么大。你检查了吗?

通常,当您以True Color或16位压缩纹理并且zip压缩效果很好时,即在像素颜色相同且像素很多的纹理上,zip压缩效果很好。

可能的解决方案

1)如果纹理不需要透明度,则可以切换到压缩纹理(iOS上为PVRTC,Android上为ETC)。但是,如果需要透明度,则不应切换到压缩,因为透明的PVRTC看起来非常丑陋,并且ETC不支持alpha。

2)我不知道您的项目是否可行,但是您可以尝试通过使用色调或切片来减少纹理量。

更新1

事实证明,我目前也有类似情况。

 --------------------------------------------
| Platform                Android    iOS     |
|--------------------------------------------|
| APK/IPA                 380MB      400 MB  |
| unzipped APK/IPA        1.19 GB    1.13 GB |
| install size on device  380MB      1.15 GB |
 --------------------------------------------

区别在于,iOS在安装时完全将IPA文件解压缩,然后
Android在运行时相反地直接从APK 中读取了内容,因此您可以辩称,它不是真正安装的,但肯定是另一种安装类型。

关于ios - Unity iOS应用程序大小为1.2GB(实际大小)(Android为100MB),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33613864/

10-13 05:06