我在运行Xcode和仪器的设备上测试了我的应用程序以监控CPU和内存级别。我的应用程序在某些视图上运行动画,我注意到即使在离开该页面后,内存级别仍保持较高并且将构建在顶部。有一点,内存水平约为90MB。
这是正常的吗?
我已检查自动引用计数是否已启用。记忆本身应该不清楚吗?
感谢。
这是一个拥有大量内存的动画。
-(IBAction)start:(id)sender
{
animation.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"4.png"],
[UIImage imageNamed:@"5.png"], nil];
[animation setAnimationRepeatCount:0];
animation.animationDuration = 2.5;
[animation startAnimating];
}
这是他的分配和泄漏工具。 “生活”是我需要担心的吗?
答案 0 :(得分:2)
您需要发布代码。如果在离开页面后内存没有清除,则意味着某些内容正在保留。 90MB可能有点高 - 你是在为一个大的磁盘加载图像制作动画吗?
ARC不是垃圾收集 - 您仍需要小心保留
答案 1 :(得分:1)
根据您的应用程序的功能,90MB可以很多。 ARC并不神奇,虽然它对内存管理有很大帮助,但保留周期可能会导致内存构建而无法正常释放。您应该使用分配和内存泄漏工具来查看哪些对象未正确释放。