0

私が開発しているアプリケーションには、mx:LineChartを含むSparkItemRendererを使用するSparkListコントロールが含まれています。リストに新しいアイテムが追加されるたびに、その再描画時間は著しく増加します。15番目の項目を追加した後、GUI全体が約20秒間フリーズして、リストが更新されます。

アイテムレンダラーを最適化するにはどうすればよいですか?

リストに新しいアイテムを追加するたびに、新しいArrayCollectionを作成し、それをリストに渡します。

ChartList.asの内部:

override protected function commitProperties():void {
    super.commitProperties();
    _itemRenderer = new ClassFactory(ChartListItemRenderer);
    list.itemRenderer = _itemRenderer; //list is a skin part
    list.dataProvider = _data; //list is of type s:List
}

Indise ChartListItemRenderer.mxml:

<sc:ScenarioChart leftAxisData="data.series}"
                  bottomAxisData="{_period}"/>

シナリオチャートの内部:

override protected function commitProperties():void {
    super.commitProperties();

    chart.dataProvider = _leftAxisData;
    bottomAxis.dataProvider = _bottomAxisData;
}
4

0 に答える 0