我使用 UIAlertview 输入一些文本,它工作正常。但是,alertview 关闭后,在打开 alertview 之前内存仍然增加了 17MB 以上(从 9MB 到 26MB)。我使用 Instrument Allocation 来测量堆内存和活动监视器来测量它。它们都显示了相似的结果。当我切换到其他应用程序时,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, 非常感谢。我不确定我是否正确遵循了您的建议。但是我用Activity monitor watch the Real mem,alertview关闭后内存还是增加了20MB左右。我在 [alert show] 之后删除 [alert release],然后我写了
[alert show];
//[alert release];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{ [alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];
[alertView autorelease]; }
此外,当我按下主页后应用程序进入后台模式时,内存会减少。(这与我之前的代码类似)。我怎么能正确地观看废弃的记忆。我什至不知道如何以正确的方式观看它......
顺便说一句,我的原始代码遵循此处的帖子。 Uialertview 和内存管理