Я надеялся, что кто-то может помочь мне с проблемой памяти на iPhone.autorelease pool
У меня есть прокрутка, которая является частью навигационного контроллера.
Всякий раз, когда я сначала нажимаю навигационный контроллер и прокручиваю прокрутку (добавляя изображения, когда я иду), память выделяется огромными кусками (скажем, 1 мб каждый).
Если я поворачиваю дисплей пару раз, память освобождается, и все в порядке: функция прокрутки работает правильно, и память возвращается туда, где она должна быть (около 1 мб, глядя на выделение сети в Инструменты).
Как я могу сохранить память в состоянии дикой природы или освободить ее во время использования прокрутки, так же, как это происходит при вращении устройства?
Вот фрагмент кода, который вызывается для загрузки страницы Scrollview:
- (void)loadPage:(int)page isCurrent:(BOOL)isCurrent {
if (page < 0) return;
if (page >= totalRows) return;
picViewController *controller = [[picViewController alloc] init];
if ((NSNull *)[viewControllers objectAtIndex:page] == [NSNull null]) {
NSString *fullPath = [self fullPath];
if([fileManager fileExistsAtPath:fullPath]) {
currentImage=[UIImage imageWithContentsOfFile:fullPath];
[controller setImg:currentImage];
[viewControllers replaceObjectAtIndex:page withObject:controller];
}
else {
AsyncImageView* asyncImage = [[AsyncImageView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
asyncImage.tag = 8;
[asyncImage loadImageFromName:imageName withURL:url];
[controller.view addSubview:asyncImage];
[asyncImage release];
[viewControllers replaceObjectAtIndex:page withObject:controller];
}
if (nil == controller.view.superview) {
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
controller.view.frame = frame;
[scrollView addSubview:controller.view];
}
[controller release];
}
}
привет, мне нужно, чтобы вы реализовали свой метод updateCachedPages –