Предупреждение памяти и сбой из-за UIImageView с раскадровкой

У меня есть приложение каталога на IOS 6. Так что есть некоторые UIImageView в каждом представлении.

Я думаю, когда я перехожу к другим представлениям, старые изображения не публикуются. Итак, мой настоящий мем. становится 300 МБ и виртуальной памяти. становится 500 МБ, и я получаю предупреждение памяти.

Я использовал, чтобы использовать

- (void)viewDidUnload
{
    [super viewDidUnload];
    itemImageView = nil;
    scrollView = nil;
}

Что мне делать больше? Я что-то упускаю обычное?

Обновить:

Я инициализирую ImageView так:

    __block UIImageView *imageview = [[UIImageView alloc] init];

и установите его через AFNetworking:

 AFImageRequestOperation *operation = [AFImageRequestOperation imageRequestOperationWithRequest:imageRequest
                                                                                  imageProcessingBlock:nil
                                                                                             cacheName:@"nscache"
                                                                                               success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image){
                                                                                                   imageview.image = image;
                                                                                               }
                                                                                               failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){ NSLog([error description]); }
                                              ];

Обновить:

Я использую раскадровку. Так что с одного взгляда на другой я использую Segue. Если я вернусь к первому контроллеру, viewDidUnload для второго контроллера не вызывается. Если я снова перейду ко второму виду, память увеличится, что означает, что все виды изображений во втором виде снова загружаются. Где я не прав?

Обновление 2: я начинаю верить, что речь идет о Storyboard и Push Segue. Чтобы вернуться к первому виду, я использую push segue. Я создаю другой пользовательский переход, который выскакивает второй viewcontroller.

1 ответ

Если вы используете инструменты для мониторинга использования памяти, убедитесь, что зомби выключены (варианты схемы). По умолчанию зомби не удаляются, поэтому использование вашей памяти взрывается.

Другие вопросы по тегам