В моем приложении у меня есть навигационный контроллер с четырьмя контроллерами.Пользователь перемещается от A -> B -> C -> D -> A_1 -> B_2 ->
... и т. Д. Это один путь, и каждый ViewController
всегда является новым ViewController
.
Этот цикл предназначен.Но в ViewController A
и C
я инициализирую GoogleMaps
, который использует много памяти.Итак, после 15 циклов (и 30 дюймов GoogleMaps) мое приложение вылетает из-за утечки памяти.
Теперь я вижу разные возможности для решения этой проблемы.
1) Я не инициирую новый ViewController, скорее, я снова использую свои VC.Так что Google Maps просто инициализирую два раза. Мне это не нравится, потому что у моих ВК могут быть разные состояния.Чистая инициализация была бы более удобной и меньший источник ошибок
2) Я удаляю стек в нужное время, потому что навигация - только один путь.Когда переход из A -> B
будет выполнен, я могу выбросить А.То же самое для C -> D
.
3) Я перехожу из Google Maps после переходов.Я пока не знаю, как это сделать, но я вполне уверен, что пойму это.
Я читал о setViewControllers , с помощью которых я могу заменить контроллеры представления.
Какая лучшая практика?Что рекомендует Apple?