我正在开发一个像图画和动作的书一样的应用程序。我有18个视图,每个视图更真实的内存(最大70MB)。
使用此代码进行开发的图片:
fonsImatge = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"fons_pis.png", 0] ofType:nil]]];
[fonsImatge setFrame:CGRectMake(0, 0, 1024, 768)];
fonsImatge.alpha = 1.0f;
//[UIView commitAnimations];
[self.view insertSubview:fonsImatge atIndex:0];
[fonsImatge release];
letra_a = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"lletra_a_01.png"]];
[letra_a setFrame:CGRectMake(406, 114, 270, 318)];
[self.view insertSubview:letra_a atIndex:2];
[letra_a release];
letra_a.alpha = 0.0;
letra_a.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"lletra_a_01.png"],
[UIImage imageNamed:@"lletra_a_02.png"],nil];
letra_a.animationDuration = 5.00;
letra_a.animationRepeatCount = 1000;
[letra_a startAnimating];
下一个观点:
proj_lletrac_fosca *viewController = [[proj_lletrac_fosca alloc] init];
[self presentViewController:viewController animated:NO completion:nil];
[viewController release];
- (void)viewDidUnload {
self.fonsSemi=nil;
self.fletra_a=nil;
}
如何删除上一个视图的内存?
感谢!!!!
答案 0 :(得分:1)
简而言之,您没有明确地这样做。您应该在所有视图控制器中实现viewDidUnload
并释放可以在viewDidLoad
中再次创建的任何内容。然后UIKit将做正确的事情并卸载当内存不稳定时不在屏幕上的视图。