Flex navigator.pushView медленный - PullRequest
       19

Flex navigator.pushView медленный

1 голос
/ 27 октября 2011

Это общий вопрос, касающийся техники оптимизации, и, пожалуйста, я более чем готов переписать большую часть своего кода, так как большую часть его перенесу в библиотеку.

Моя проблема касается не столькоFlex Performance, поскольку я использовал методы, которые сократили использование ЦП и памяти, поэтому производительность оказывается высокой, когда внутри представления.

Проблема, с которой я столкнулся, - это navigator.pushView, который кажется медленным.creationComplete для представления, но я его учел, поэтому мой init выглядит так:

private function init() : void {
  doStuff1();
  doStuff2();
  doStuff3();
}

Что я могу сделать, чтобы сделать переход представления плавным?Это на мобильном устройстве.

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

Совет будет очень признателен!

Спасибо,

1 Ответ

3 голосов
/ 27 октября 2011

Производительность действительно зависит от того, что вы делаете в этих методах "doStuff ()".Несколько вещей для рассмотрения:

1) Во время выполнения creationComplete ();вид уже представлен один раз.Делаете ли вы что-нибудь, что заставит вещь снова проявить себя?Изменение стилей и многих свойств дочерних компонентов приведет к повторному рендерингу этого дочернего компонента и часто к компоненту представления.

Многие люди используют creationComplete в качестве конструктора, когда на самом деле это худшее место для размещения кода в стиле конструктора.Вместо этого вам следует рассмотреть возможность использования preinitialize для большинства вещей или инициализации, если вам нужно установить свойства дочерних компонентов.

2) viewActivate выполняется после перехода.Поэтому, возможно, вам следует рассмотреть возможность перемещения кода из creationComplete в viewActivate.Более подробная информация о жизненном цикле мобильного представления находится здесь.

...