Unity iOS App大小为1.2GB(实际大小)(Android 100MB)

我有一个应用程序,这是一个团结2D。 导出到Android它重达100MB。 导出到iOS的重量为1.2GB(ipa为104MB),但iTunes内部重量为1.2GB,这太多了。

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

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

下面是.ipa未压缩的内容显示了获取所有MB的内容:

sharedassets4.assets(只是该文件,获得342 MB)

iTunes显示安装大小 ,所以如果你解压你的ipa文件,你会得到那些1.2GB的。 Android上的安装大小也可能很大。 你检查了吗?

通常情况下,这种情况发生在以真彩色或16位压缩纹理时,并且zip压缩效果非常好,即在具有相同颜色的很多像素的纹理上。

可能的解决scheme

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

2)我不知道在你的项目中是否可能,但你可以尝试通过使用色调或切片来减less纹理的数量。

更新1

我目前有类似的情况,事实certificate。

-------------------------------------------- | 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中读取相反的内容 ,所以您可以争辩说,这并不是真正安装的,但它绝对是另一种安装types。

检查您的纹理导入选项。 您可能为Android导入和iOS导入设置了不同的选项。

iOS导入通常是PVRTC,它的大小和方形(256×256,512×512等)都是较好的纹理。

这听起来像你可能有iOS设置为非压缩格式。

你压缩你的网格? 同时剥离位代码。 另一件我发现有用的是扁平化你的纹理,并删除图层。 还将索引颜色计数更改为较低的数量。 对于1024×1024,如果你调整的话,它可以达到170KB。

也删除法线贴图,并更改着色器。 它看起来不像粒状,但会减小尺寸。 您可能还想将纹理卸载到资产服务器,并在运行时获取纹理,而不是将其预加载到捆绑资产中。