优化包含mx:LineChart的s:ItemRenderer

时间:2012-11-09 13:11:28

标签: flex

我正在开发的应用程序包含一个Spark List控件,它使用包含mx:LineChart的Spark ItemRenderer。随着每个新项目添加到列表中,其重绘时间显着增加。添加第15项后,整个GUI冻结约20秒以刷新列表。

如何优化项呈示器?

每次我在列表中添加新项目时,我都会创建一个新的ArrayCollection并将其传递给列表。

Inside 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}"/>

Inside ScenarioChart:

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

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

0 个答案:

没有答案