Управление памятью в iPhone - PullRequest
0 голосов
/ 29 марта 2011

У меня есть приложение для iPad, которое показывает всю информацию и связанные изображения. Например: я могу получить доступ к разделу «События», из которого я могу выбрать один. У каждого есть разные даты или побочные события. Как только я выбираю параллельное событие, я выставляю несколько небольших просмотров, которые содержат заголовок новости; небольшое изображение в качестве предварительного просмотра и короткий текст в ViewController (который имеет ScrollView). Это превью может быть много. Нет утечек из-за моего кода (я анализировал с помощью Instruments, и единственные, что я могу найти, из-за ошибки NSXMLParser), но я заметил, что живые байты не замедляются, они только растут. Каждый раз, когда мне нужно обновить содержимое ScrollView, я стараюсь вставить следующий код:

if ( bannerVideo ) { 
  [banner release]; 
  banner = nil; 
}

Вы случайно не знаете, в чем причина такого постоянного роста?

1 Ответ

1 голос
/ 31 марта 2011

решено

Я добавил ViewController "bannerVideo" в качестве подпредставления к основному ViewController.Это приводит к увеличению retainCount на единицу.Итак, когда я спросил о новом представлении:

if ( something ) {
  [[bannerVideo view] removeFromSuperview];
  [bannerVideo release];
  bannerVideo = nil;
}

Да, основной доступ к области кучи для bannerVideo был освобожден, но он все еще сохранялся основным ViewController View.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...