UIAlertview を使用してテキストを入力すると、正常に動作します。ただし、alertview を閉じた後、alertview を開く前にメモリが 17MB 以上増加しています (9MB から 26 MB へ)。Instrument Allocation を使用してヒープ メモリを測定し、Activity Monitor を使用して測定しました。どちらも同様の結果を示しています。別のアプリに切り替えると、alertview によって増加したメモリが適切なレベルまで減少します。正常ですか?私の環境はiPhone4+iOS6です。試すためのコードを次に示します。
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"input caption" message:@"text"
delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
ありがとうございました。
Naveed S さん、Purr さん、どうもありがとうございました。私はあなたの提案に正しく従うかどうか確信が持てません。しかし、アクティビティモニターを使用してリアルメモリを監視すると、アラートビューを閉じた後もメモリが約20 MB増加します。[アラート ショー] の後に [アラート リリース] を削除して、
[alert show];
//[alert release];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{ [alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];
[alertView autorelease]; }
さらに、ホームを押した後にアプリがバックグラウンド モードになると、メモリが減少します。(これは私の以前のコードと似ています)。放棄メモリを正しく監視するにはどうすればよいですか。どうやって見るのが正解なのかもわからない……。
ところで、私の元のコードはこちらの投稿に従います。 Uialertview とメモリ管理