0

我正在开发的应用程序包含一个 Spark List 控件,该控件使用一个包含 mx:LineChart 的 Spark ItemRenderer。随着每个新项目添加到列表中,其重绘时间显着增加。添加第 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