animationen erst beim zweiten mal flüssig

  • animationen erst beim zweiten mal flüssig

    Hallo,
    habe eine kleine Frage zu Animationen.
    Ich habe in meiner aktuellen App extrem viele Animationen, die hauptsächlich auf Images gezeichnet sind und diese sollen dann einfach nach einander auf dem Bildschirm gezeigt werden.
    Bei der größten Animation sind die Bilder bildschirmfüllend und über 100 verschiedene.
    Wenn ich das ganze im Simulator abspiele, dann ruckelt es beim ersten Mal extrem, erst beim zweiten Mal läuft es flüssig.
    Wenn ich es am iPhone 4 abspiele, dann bekomme ich beim ersten Mal eine low memmory warning und die app crasht.

    Ich habe bis jetzt CABasicAnimation, UIView.animationImages, NSTimer mit einer Methode, die einfach beim uiimageview ein neues image setzt, oder mit CADisplayLink, ebenfalls wie beim timer einfach dem imageview ein neues bild zuweisen, doch es scheint so als würde es nie funktionieren und ich bekomme immer eine low memmory Warnung.

    Klar das sind jetzt paar MB an Bildern, aber auch nicht über 10 und zweitens, wenn ich mit NSTimer / CADisplayLink immer ein neues setze, dann sollten die alten doch auch kein Problem mehr sein, oder?

    Würde mich über einen Lösungsansatz freuen.
  • iOS cached Bilddaten. Wenn Du das erste mal ein UIImage allozierst und initialisierst, wird das Bild geladen und gecached. Wenn Du dann erneut ein UIImage anlegst, wird das Bild aus dem Cache genommen, falls es noch da ist. Daher ruckelt es beim ersten Mal (HD-Zugriffe).

    Das Crashen auf dem Device hat den Grund den Du kennst: Low Memory. Du lädst (und iOS cached) zuviele Daten. Du hast hier einen Architekturfehler, denn wenn das passiert, ist Dein Ansatz falsch.
  • fwtag schrieb:

    Wenn Du das erste mal ein UIImage allozierst und initialisierst, wird das Bild geladen und gecached.

    Das ist nicht ganz richtig. Nur wenn Du die Bilder über imageNamed: lädst, cached Cocoa Touch sie auch.

    Die Ruckler kommen wahrscheinlich durch das Laden der Bilder zustande. Hier schließe ich mich fwtag an: Wahrscheinlich ist Deine Architektur ungünstig gewählt.
    „Meine Komplikation hatte eine Komplikation.“