Anstatt nach Alternativen zu suchen, versuchen Sie einfach, den vorhandenen Code zu korrigieren.
Die beste Praxis ein Bild für animationImages
der Zuweisung sollte
imageNamed:
es Cache Ihre Bilder mit initWithContentsOfFile
statt imageNamed:
sein und Sie die Kontrolle über den Speicher verlieren - es gibt keine Garantie, dass das Objekt die Freigabe wird das Bild tatsächlich freigeben, aber bietet beim zweiten Mal ein schnelleres Laden der Bilder, wenn sie zwischengespeichert werden.
imageWithContentsOfFile:
Es speichert keine Bilder und ist mehr Speicher freundlich, da es nicht Bilder zwischenspeichert und die schwereren Bilder werden viel langsamer geladen.
Wenn die Animation stoppt, geben Sie einfach das Bildsammlungsfeld frei. Wenn Sie ARC verwenden, dann machen Sie das Bildsammlungs-Array zu Null.
Best Practice:
for(int itemIndex = 0; itemIndex < 20; itemIndex++) {
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"myImage1" ofType:@"png"];
UIImage *image = [[UIImage alloc] initWithContentsOfFile:filePath];
[imageArray addObject:image];
}
Nach der Animation:
imageArray = nil;
können Sie Bilder zeichnen einer nach dem anderen mit Core Graphics und CADisplayLink. –