2012-04-10 6 views
0

Ich habe eine Drei-Sekunden-PNG-Sequenz (eine Logo-Animation), die Ich mag würde gleich nach meinem iOS-App startet anzuzeigen. Da dies die einzige animierte Sequenz in der App ist, möchte ich Cocos2D nicht verwenden.iOS animierte Logo - Low Speicher Alternativen

Aber mit UIImageView des animationImages läuft die App aus dem Speicher auf dem iPod Touch-Geräten.

Gibt es mehr Speicher bewussten/effiziente Art und Weise diese Animation zu zeigen? Vielleicht eine Sprite-Sheet-Klasse, die Cocos2D nicht beinhaltet? Oder etwas anderes?

+0

Wie groß sind die Bilder? Insbesondere, wie viele Bytes verbrauchen sie? (Normalerweise sind das Breite * Höhe * Kanäle. Ein farbiges, transparentes PNG hat 4 Kanäle.) Haben Sie separate iPhone- und iPad-Versionen oder muss der iPod touch ein iPad-Image laden? – Dondragmer

+0

Ich nehme an, es ist Vollbild? Wie groß ist seine Größe im Vergleich zur gesamten App? Ich wäre verrückt, wenn eine 5-MB-App 2,5 MB für nur 3-Sekunden-Augenschmaus ausgeben würde. Sogar Spiele verwenden keine animierten Sequenzen auf diese Weise. –

Antwort

2

Wenn dies eine animierte Splash-Screen oder ähnlich ist zu beachten, dass die HIG runzelt die Stirn auf ein solches Verhalten (außerhalb von Vollbild-Spiele, zumindest).

Wenn Sie solche Argumente nicht beachten (oder ein Spiel erstellen), sollten Sie Ihre Animation als MPEG-4-Video speichern und MPMoviePlayerController verwenden, um sie darzustellen. Mit einem guten Kompressor sollte es möglich sein, die Größe und den Speicherverbrauch ziemlich niedrig zu halten und trotzdem eine gute Logoanimation zu haben.

Ich bezweifle, Sie gehen zu viel Verbesserung andere Art und Weise zu finden - ein Sprite Blatt, zum Beispiel, ist immer noch die gleiche Art von Arbeit wie als Folge von PNGs tun werden. Das Problem ist, dass bei den meisten Animationen viele Pixel von Bild zu Bild nicht verändert werden. Wenn Sie es nur als eine Serie von Bildern darstellen, verschwenden Sie viel Zeit und Platz auf zeitlich duplizierten Pixeln. Deshalb haben wir Videocodecs.

0

könnten Sie versuchen, manuell Laden/Entladen der PNG-Bilder je nach Bedarf. Ich weiß nicht, was Ihre Bildratenanforderungen sind. Denken Sie auch an ein qualitativ hochwertiges jpg oder animiertes GIF. Und Sie können das Bild immer kleiner machen, damit es nicht den ganzen Bildschirm ausfüllt. Nur ein paar Gedanken.