UIImageを複製して不必要にメモリを増やすことなく、さまざまなView Controller間でUIImageを渡す方法を見つけようとしています。画像は以下のメソッドを使用して正常に渡されますが、後でこの UIImage を解放できないようです。これにより、説明できない 7MB 以上のデータがアプリに重くのしかかることになります。私が知りたいのは、(現在のビュー コントローラーに属する) UIImage を次に切り替えるビュー コントローラーに渡し、元のポインターを解放すると、メモリに何が起こっているかということです。このような:
-(IBAction)startEditing:(id)sender
{
EditViewController *controller = [[EditViewController alloc] initWithNibName:@"EditViewController" bundle:nil];
controller.delegate = self;
//imageDataPhoto1 is of type UIImage (from camera)
controller.editPhotoData1 = imageDataPhoto1;
[imageDataPhoto1 release];
imageDataPhoto1 = nil;
controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:controller animated:YES];
[controller release];
}
ポインターimageDataPhoto1の DATA は、解放される前にビューコントローラーインスタンスに割り当てられているため、解放されていませんか?