1

私のアプリケーションは特定のビューで開始され、そこからユーザーはいくつかのビューをプッシュできます。ユーザーが最後のビューに到達すると、rootview コントローラーにポップするボタンを用意しました。しかし、各ビューが押されたときにアプリケーション全体で増加しているメモリが解放されていないことがわかります。また、ユーザーがアプリケーションの使用を開始すると、増加し続けます。問題が実際にどこにあるのかわかりません。誰かがこれから私を助けてくれませんか??

-(void)buttonPressedStart{
    QuizicleViewController *dvController = [[QuizicleViewController alloc] init];
    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle: @"Cancel" style: UIBarButtonItemStyleBordered target: nil action:nil];
    [[self navigationItem] setBackBarButtonItem: backButton];
    [backButton release];
    [self.navigationController pushViewController:dvController animated:YES];
    [dvController release];
    dvController = nil;
}
4

1 に答える 1

0

私の評判が低いため、回答を追加する必要があります。少し前に同じことが私にも起こりました。ビュー コントローラをプッシュしてから解放していましたが、dealloc メソッドが呼び出されませんでした。次に、少しデバッグした後、別のスレッドで作業を行っていて、スレッドが完了することなくビューを解放していることに気付きました。スレッドがまだ実行中であったため、dealloc メソッドは呼び出されません。これがあなたに当てはまるかどうかはわかりませんが、マルチスレッドを使用している場合は、そうであるかどうかを確認してください。

于 2011-06-22T10:55:19.330 に答える