#actionscript-3 #apache-flex #mobile #air
#actionscript-3 #apache-flex #Мобильный #воздух
Вопрос:
Я переключал представления с помощью navigator.pushView снова и снова, но, похоже, он постоянно занимает больше памяти. Есть какие-либо предположения о том, что это может быть?
Я неправильно меняю представления?
Комментарии:
1. Не могли бы вы показать нам какой-нибудь код? Возможно, это другая часть, которая вызывает утечки памяти…
2. Пример кода может быть полезен для анализа
3. Убедитесь, что все ссылки на ваше представление удалены и обнулены, иначе они останутся в памяти навсегда. Наиболее вероятным виновником здесь будут прослушиватели событий в вашем представлении или один из его дочерних элементов.
Ответ №1:
Если pushView работает как эквивалент Objective-C, он сохранит все представления, которые вы помещаете в стек. Он предназначен для использования как для иерархического интерфейса, где вы углубляетесь в дерево, а затем используете popView для возврата.
Комментарии:
1. В flex, когда вы нажимаете или открываете представление, все другие представления, кроме представления вашего приложения по умолчанию, должны быть удалены по умолчанию
2. Это звучит странно — как бы вы открыли представление, чтобы вернуться к предыдущему представлению, если не сохранены все представления?
3. Поскольку flex не хранит список ссылок на сами экземпляры представления, а скорее на классы представлений и каждый раз создает новый экземпляр, отсюда и утечка памяти.
Ответ №2:
DennisJaamann прав в своих комментариях — не смог пометить это как ответ, поскольку отмечать было нечего.