【发布时间】:2013-04-15 07:30:03
【问题描述】:
我创建了一个非常简单的 iPhone 应用程序,它具有单个视图和一个 UIButton,其中包含用于显示 UIAlertView 的操作。 我正在使用以下代码
- (IBAction)showAlert:(id)sender {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Message" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
附上仪器分配工具屏幕截图。
在图像中,低内存分配显示应用程序正在运行而没有显示UIAlertView,而在我显示UIAlertView 之后,高峰值显示内存使用情况,即使我已经解除了UIAlertView 并释放它,但它继续显示相同的内存状态和有生命的物体(高达 50,000 个)。但是当我按下主页按钮时,应用程序进入后台,您可以在附加的图像中看到活体对象和使用的内存减少。
问题:
我的代码有什么问题?
为什么即使在释放UIAlertView 之后,它仍然显示高内存分配和活动对象?
为什么我必须去后台释放内存和活物?
【问题讨论】:
标签: iphone ios memory-management uialertview instruments