2011-04-23 1 views
0

В моем приложении у меня есть панель вкладок с 2 навигационными контроллерами, каждый контроллер навигации имеет кнопку, открывающую другой вид путем нажатия.проблема с пространством памяти в объективе c

Я делаю эту операцию, делая автоматическое оповещение о новом виде.

Увидев инструменты, я заметил, что, когда я нажимаю кнопку, чтобы перейти к следующему виду, память increse, но возвращение остается схожим, это нормально?

В представлении содержатся только метки и 1 фоновое изображение, все связанные с IBoutlet, все освобожденные в dealloc.

Например, нажатие первой кнопки и открытие первого окна просмотра 1.05 MB -> 1.78 MB, возврат 1.78 -> 1.65, а затем повторное нажатие будет постоянным.

Идеи?

+1

Покажите нам некоторый код. –

ответ

0

Вы должны реализовать viewDidUnload и nil свойства IBOutlet. См. Документацию UIViewController.

Возможно, что фоновое изображение кэшируется, поэтому увеличивается единовременное увеличение памяти.

0

Вы загружаете изображение с помощью [UIImage imageNamed:@"image_file_name.jpg"]? Если это так, это изображение кэшируется в памяти, поэтому, если вы загружаете изображение снова и снова, вам не нужно будет считывать его с диска и воссоздавать базовый объект NSData.

Попробуйте загрузить изображение с помощью [UIImage imageWithContentsOfFile:@"image_file_name.jpg"]. Этот метод не будет кэшировать изображение в памяти, поэтому, когда вы потеряете изображение в методе viewDidUnload, вся память будет быстро восстановлена.

Смежные вопросы