2015-11-09 9 views
5

Ich habe eine App, die mit Einheit 2d gemacht wird. Nach dem Export auf Android wiegt es 100 MB. Der Export nach iOS wiegt 1,2 GB (ipa ist 104 MB), aber in iTunes wiegt 1,2 GB, was zu viel ist.Einheit iOS App Größe wiegt 1,2 GB (reale Größe) (Android 100 MB)

Wir haben versucht, die Texturgröße zu reduzieren, aber dann werden Bilder auf dem Gerät sehr pixelig.

Irgendwelche Ideen, wie Sie das beheben können?

Hier ist, was die .ipa unkomprimierte zeigt, was alle MB bekommt:

sharedassets4.assets (nur diese Datei erhält 342 MB)

+0

Haben Sie Ihre Netze komprimiert? Auch Strip-Bit-Code. Eine andere Sache, die ich hilfreich fand, ist das Reduzieren der Texturen und das Entfernen von Ebenen. Außerdem wird die indizierte Farbanzahl auf einen niedrigeren Wert geändert. Für 1024x1024 kann es zu 170KB kommen, wenn Sie es richtig machen. Entferne auch normale Maps und ändere deine Shader. Es wird nicht so granular aussehen, aber es wird die Größe reduzieren. Möglicherweise möchten Sie die Texturen auch auf einen Assets Server verlagern. – ApolloSoftware

Antwort

0

Überprüfen Sie Ihre Textur Importoptionen. Möglicherweise sind verschiedene Optionen für den Android-Import und den iOS-Import festgelegt.

iOS-Import ist in der Regel PVRTC, die Texturen bevorzugen, die eine Macht von zwei in Größe und Quadrat (256x256, 512x512, etc) sind.

Es klingt für mich, als ob Sie iOS auf ein nicht komprimiertes Format eingestellt haben könnten.

+0

danke für die Antwort. anscheinend sind die Bilder keine 2er Potenz ... und keine sind quadratisch .... denkst du, dass da was zu tun ist? etwas reparieren? –

+1

Ich kann nicht wirklich ohne weitere Informationen über die Bilder, Ihr Projekt und ihre Einstellungen kommentieren. – Almo

2

iTunes zeigt die Installationsgröße, also, wenn Sie Ihre ipa-Datei entpacken, erhalten Sie diese 1,2GB. Die Installationsgröße auf Android könnte auch so groß sein. Hast du das überprüft?

Normalerweise geschieht dies, wenn Sie Ihre Textur in True Color oder 16 Bit komprimiert und die Zip-Komprimierung funktioniert wirklich gut, d. H. Auf Texturen, die viele Pixel mit den gleichen Farben haben.

Mögliche Lösungen

1), wenn Ihre Texturen Transparenz nicht erforderlich ist, können Sie auf komprimierte Texturen (PVRTC auf iOS und ETC auf Android) wechseln können. Aber wenn die Transparenz erforderlich ist, sollten Sie nicht auf komprimiert wechseln, da transparentes PVRTC sehr hässlich aussehen kann und ETC Alpha nicht unterstützt.

2) Ich weiß nicht, ob es in Ihrem Projekt möglich ist, aber Sie könnten versuchen, die Menge an Textur zu reduzieren, indem Sie Tönung verwenden oder schneiden.

UPDATE 1

ich eine ähnliche Situation zur Zeit mit und wie sich herausstellt.

-------------------------------------------- 
| 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 | 
-------------------------------------------- 

Der Unterschied besteht darin, dass iOS die IPA-Datei vollständig auf Installation unzips und
Android im Gegensatz zur Laufzeit liest direkt aus den APK, so dass man argumentieren könnte, ist, dass nicht wirklich installiert, aber es ist definitiv ein anderer Installationstyp.

+0

danke für die Antwort. . ja ich überprüfe für android ist nur 100mb ... 100% sicher !! .... 1. Ja, die Bilder benötigen Transparenz. 2. Ich würde versuchen mit Tönung –

+0

@JeanLuc ** RE ** _ "Aber wenn die Transparenz benötigen, sollten Sie nicht auf komprimiert wechseln, weil transparente PVRTC kann sehr hässlich aussehen" _ Das kann eher davon abhängen, was in den transparenten Bereichen versteckt ist von deiner Textur. Ich habe schon einige Fälle gesehen, in denen die Farbdaten in den Alpha = 0-Bereichen "völliger Quatsch" sind, aber der Kompressor muss immer noch versuchen, ihn darzustellen, weil er nicht weiß, wie diese Daten verwendet werden sollen, z. welcher Mischmodus oder sogar, wenn es überhaupt Alpha ist! Versuchen Sie für PVRTC1, wenn A = 0 ist, die Farbdaten so ähnlich wie möglich in der Nachbarschaft zu machen. –

+0

@SimonF: das ist ein guter Rat, danke! Das werde ich mir merken. – JeanLuc

0

Haben Sie Ihre Netze komprimiert? Auch Strip-Bit-Code. Eine andere Sache, die ich hilfreich fand, ist das Reduzieren der Texturen und das Entfernen von Ebenen. Außerdem wird die indizierte Farbanzahl auf einen niedrigeren Wert geändert. Für 1024x1024 kann es zu 170KB kommen, wenn Sie es richtig machen.

Entfernen Sie auch normale Karten und ändern Sie Ihre Shader. Es wird nicht so granular aussehen, aber es wird die Größe reduzieren. Möglicherweise möchten Sie die Texturen auch auf einen Assets-Server auslagern und Texturen zur Laufzeit erhalten, anstatt sie in Ihren gebündelten Assets vorab zu laden.