Поле со списком замедляет Flex - PullRequest
0 голосов
/ 04 января 2010

Я сделал следующий код. Я знаю, что это ужасно написано, но это всего лишь коробка с двумя полями со списком и текстовым вводом ниже, добавляемая в VBox, чей идентификатор - «гараж». Проблема в том, что, как бы я это ни делал, когда я открываю поле со списком, программа тормозит настолько, что его невозможно использовать больше. Я хотел бы знать, есть ли у вас какие-либо идеи о том, что скрывается за ComboBox и возможные причины этого "замедления", когда я открываю ComboBox ... Возможно, рендеринг или что-то? Мы будем рады, если что-нибудь попробуем или поищем.

<mx:VBox width="100%" height="100%" id="garage" initialize="garage.addChild(User.instance.house.garage);" >
            <mx:Label text="Garagem" />
            <mx:Button label="Adicionar automóvel"
                click="var c:VBox = new VBox();
                var h:HBox = new HBox(); 
                var cb1:ComboBox = new ComboBox();
                cb1.dataProvider=new ArrayCollection(['Compacto','Familiar','Carrinha']);
                h.addChild(cb1);
                cb1 = new ComboBox();
                cb1.dataProvider=new ArrayCollection(['Compacto','Familiar','Carrinha']);
                h.addChild(cb1);
                c.addChild(h); c.addChild(new TextInput()); garage.addChild(c);"/>
</mx:VBox>

Ответы [ 2 ]

0 голосов
/ 05 января 2010

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

Все еще хотел бы знать, почему простое открытие одного поля со списком в еще одном компоненте может замедлить работу приложения.

0 голосов
/ 04 января 2010

Каждый раз, когда вы нажимаете кнопку, создается множество новых вещей. Я склонен расширять компонент, и все эти элементы, такие как ArrayCollections, готовы к инициализации при создании (расширенной) кнопки.

...