我创建了一个非常简单的 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
它之后显示高内存分配和活动对象?
为什么我必须去后台释放内存和活物?