2016-07-07 4 views
0

У меня очень тяжелое приложение для изображения. (И прежде чем вы скажете: нет, я не могу уменьшить количество изображений). Это означает, что в моих файлах раскадровки есть много UIImageView.Уменьшить размер памяти приложения

Общая структура приложения является чем-то вроде этого:

enter image description here

Content View Controller является тот, который является изображением тяжелого и в любое время до около 12 из них может находиться в памяти в любом один раз из-за контроллера просмотра страницы.

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

Помимо написания моей собственной реализации UIPageViewController, что я могу сделать для уменьшения объема памяти?

ответ

0

Я не думаю, что вам нужно создать свою собственную реализацию UIPageViewController, вам просто нужно использовать UIPageViewControllerDelegate/DataSource и UIViewController с умом.
Например, у UIViewController есть метод, который запускается во время предупреждений памяти, избавляетесь ли вы от тяжелых изображений на VC, которые не видны внутри этого метода?

+0

Нет еще нет. Я начал с выпуска контроллеров просмотра, управляемых 'UITableView', как только они перестали быть видимыми. Поэтому в памяти одновременно должны быть только максимальные контроллеры представлений. –

+0

Также. Как лучше всего определить, отображается ли контроллер вида при срабатывании предупреждения о памяти? И если я удалю все тяжелые изображения, они будут перезагружены, когда контроллер станет видимым? –

+0

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