ARCが使用されます。私は単純な2つのviewcontroollersを持っています。1つはviewcontrollerを開始し、2つ目はカスタムUIImagepickerViewControllerです(カスタムビューを結合します)
@interface ViewController : UIViewController {
}
@property (nonatomic, strong) CameraController *cameraController;
@implementation ViewController
@synthesize cameraController;
-(void) showCame {
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
self.cameraController = [[CameraController alloc] init];
self.cameraController.delegate = self;
[self presentModalViewController:self.cameraController animated:YES];
}
}
しかし、私が[self dismissModalViewControllerAnimated:YES]を実行すると、カメラコントローラーでは、メモリを解放していません。2回目に呼び出したときにのみ、最初のインスタンスのdeallocを呼び出して、2番目のインスタンスを作成します。
ARCを使用することを忘れないでください
編集:2つのコントローラーで空白のプロジェクトを作成し、インストルメント(割り当て)で実行すると、アプリが完全に読み込まれた後に568Kbになり、クリックしてモーダルコントローラーを表示して閉じ、642Kbを取得しました(2番目のビューコントローラーに10を入れましたIBからのオブジェクト)問題はなぜですか?なぜこのデータが完全に破壊されなかったのか、おそらくキャッシングか何か?