Существует ряд технологий среднего уровня, одним из которых является использование компонентов типа рендеринга, таких как TileGrid
или ItemRenderers
, если ваш макет соответствует определенной формуле. Если вы используете формы, попробуйте использовать компонент макета Form
вместо пользовательского макета.
Если вам нужно использовать механизм разметки во Flex, способ оптимизировать использование - помнить, что платформа использует определенные методы для увеличения нагрузки на производительность, неукоснительно следуя приведенному ниже списку, последний из которых является наиболее интенсивным по производительности. :
- абсолютное позиционирование (
<Canvas>
)
- относительное положение (
<VBox>
)
- позиционирование на основе ограничений (
right=0
)
- расширенное позиционирование на основе ограничений (
<constraintColumns>
)
Использование относительного позиционирования обычно не так уж интенсивно. Если вы обнаружите, что это так, возможно, вы используете слишком много вложенных контейнеров. Посмотрите на свою архитектуру компоновки и постарайтесь выяснить, каким образом ваши объекты могут быть «разложены», и упростите их. Хорошим инструментом для этого является FlexSpy, который позволяет вам анализировать расположение объектов во время выполнения.
Еще одним распространенным узким местом в производительности является то, что ваше приложение пытается выполнить некоторое сокращение числа в то же время, когда ваш графический пользовательский интерфейс пытается ответить на взаимодействие с пользователем. Несмотря на то, что в настоящее время не существует платформ с зелеными потоками, которые бы позволяли вам запускать пользовательский интерфейс и логику в отдельных «потоках», вы можете использовать хорошую архитектурную платформу, такую как Cairngorm или Mate (их много), которая использует Commands вместо прямых методов, поэтому выполнение этой функциональности, которое может занимать циклы обработки, ожидает, пока пользовательский интерфейс не завершит отвечать пользователю.