Frage

Hallo wunderbare Menschen von Stackoverflow!

Ich habe ein Problem.

Ich arbeite an einer Anwendung, die mehrere Fotos und jede Zeit in Anspruch nehmen wird es vergrößert sie, zeige eine Vorschau, speichern sie, und dann wieder die UIImagePickerController laden.

Aber nach etwa 5 bis 6 Bildern nimmt es stirbt.

Ich denke, dass es stirbt, weil ich eine UIImageView, die ich gesetzt und nach so vielen Bildern der UIImage, dass ich es Set mit nicht mehr Referenzierung nichts.

Ich denke, dass der Täter irgendwo hier drinnen ist ...

Gibt es etwas, was ich falsch mache?

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

    [backgroundImage setImage: [[UIImage alloc] initWithCGImage:[[info objectForKey:UIImagePickerControllerOriginalImage] CGImage]]];
    [backgroundImage setTransform:CGAffineTransformRotate(CGAffineTransformMakeScale(zoom/3, zoom/3), 1.570796327)];

    UIGraphicsBeginImageContext([backgroundView bounds].size);
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextFillRect(ctx, [backgroundView bounds]);
    [backgroundView.layer renderInContext:ctx];
    UIImage* screenImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(screenImage, self, @selector(ImageDidSave:didFinishSavingWithError:contextInfo:), nil);

    [self dismissModalViewControllerAnimated:YES];
}

Background ist derjenige, der schließlich versucht, ein Bild zu verwenden, die nichts mehr referenziert werden.

Lassen Sie mich wissen, wie ich klarstellen kann.

Vielen Dank allen, die bei mir geblieben bis hierher!

War es hilfreich?

Lösung

Das ist eine Vermutung, aber ich wette, dass Sie nicht genügend Arbeitsspeicher laufen und getötet zu werden. Versuchen Sie autoreleasing das Bild, das Sie in den Hintergrund in dieser Zeile an:

[backgroundImage setImage: [[[UIImage alloc] initWithCGImage:[[info objectForKey:UIImagePickerControllerOriginalImage] CGImage]] autorelease]];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top