70 МБ памяти с изображениями и 18 ViewControllers SDK - PullRequest
0 голосов
/ 09 марта 2012

Я разрабатываю приложение, подобное книге с картинками и движением.У меня 18 представлений, каждое представление более реальная память (макс. 70 МБ).

изображения разработки с этим кодом:

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;
}

Как я могу удалить память предыдущего просмотра?

Спасибо !!!!

1 Ответ

1 голос
/ 09 марта 2012

Короче говоря, вы явно не делаете это. Вы должны внедрить viewDidUnload во все ваши контроллеры представления и выпустить все, что можно создать снова в viewDidLoad. Тогда UIKit будет делать правильные вещи и выгружать представления, которые не отображаются на экране, когда память становится нехваткой.

...