Apache flex 我的应用程序运行非常慢

Apache flex 我的应用程序运行非常慢,apache-flex,Apache Flex,我开发了一个基于Advance数据网格的应用程序。在这个网格中,每一列都是在item render的帮助下添加的,我在所有的列标题中也添加了复选框。我将xml创建为字符串,并将该字符串转换为xml。 当我单击任何单元格时,需要10-13秒,在单元格单击处理程序中,我得到System.totalMemory的值为255205376 请任何人告诉我我将做什么 谢谢 我的Xml装箱代码 public function CreateDefaultXml(PojectionPeriod:int):XML{

我开发了一个基于Advance数据网格的应用程序。在这个网格中,每一列都是在item render的帮助下添加的,我在所有的列标题中也添加了复选框。我将xml创建为字符串,并将该字符串转换为xml。 当我单击任何单元格时,需要10-13秒,在单元格单击处理程序中,我得到System.totalMemory的值为255205376

请任何人告诉我我将做什么

谢谢

我的Xml装箱代码

public function CreateDefaultXml(PojectionPeriod:int):XML{
            var xmlstring:String="<root>";

            xmlstring+="<row>" + 
                    "<Itemname>Item</Itemname>" + 
                    "<Unit>Unit</Unit>" + 
                    "<Cases>Cases</Cases>" + 
                    "<row>1</row>" ;

                for(var i:int=0;i<PojectionPeriod;i++){
                    xmlstring+="<projection_"+i.toString()+">";
                    xmlstring+="<projectionTxt/>";
                    xmlstring+="<growthValue/>";
                    xmlstring+="<projectionFormula/>";
                    xmlstring+="<constantgrowth/>";
                    xmlstring+="<growthWith/>";
                    xmlstring+="<timeProjection/>";
                    xmlstring+="<formula/>";
                    xmlstring+="<IsError/>";
                    xmlstring+="<Image>l</Image>";
                    xmlstring+="<DisplayprojectionTxt/>";
                    xmlstring+="<Style>" + 
                                    "<FontColor></FontColor>"+
                                    "<CellFill>0xffffff</CellFill>"+
                                "</Style>";
                    xmlstring+="<DecimalValue>0</DecimalValue>";
                    xmlstring+="</projection_"+i.toString()+">";
                }
                xmlstring+="<RowSelected>false</RowSelected>";
                xmlstring+="<ItemNameStyle>" + 
                        "<FontColor></FontColor>"+
                        "<CellFill></CellFill>" + 
                    "</ItemNameStyle>" +
                    "<UnitStyle>"  + 
                        "<FontColor></FontColor>"+
                        "<CellFill></CellFill>"  + 
                    "</UnitStyle>"
                    "<CasesStyle>" +
                        "<FontColor></FontColor>"+
                        "<CellFill></CellFill>" +
                    "</CasesStyle>" ;
                xmlstring+="</row>";

            var headerxmlString:String="";
            headerxmlString+="<header>" + 
                        "<Setting>" + 
                            "<Currency></Currency>" + 
                            "<Period></Period>" + 
                            "<NumberOfPeriod></NumberOfPeriod>" + 
                            "<StartPeriod></StartPeriod>" + 
                            "<PeriodFormat>" + 
                                "<Sequence></Sequence>" + 
                                "<Month></Month>" +
                                "<Year></Year>" +
                                "<Separators></Separators>" +
                                "<FontColor></FontColor>"+
                                "<CellFill>0xffffff</CellFill>"+
                            "</PeriodFormat>" + 
                            "<NumberFormat>" + 
                                "<Seperator></Seperator>" + 
                                "<Negative></Negative>" + 
                                "<HardCoded>" + 
                                    "<FontColor>0x000000</FontColor>"+
                                    "<CellFill>0xffffff</CellFill>"+ 
                                "</HardCoded>" + 
                                "<Calculated>" + 
                                    "<FontColor>0x000099</FontColor>"+
                                    "<CellFill>0xfffe83</CellFill>"+
                                "</Calculated>" + 
                                "<DecimalDigit>2</DecimalDigit>" + 
                            "</NumberFormat>" + 
                        "</Setting>"+
                        "<projectname/>";

            headerxmlString+="<headerColumn>";
            var headerArr:Array=new Array();
            for(var j:int=0;j<int(GlobalVariables.GlobalVariables.ProjectionPeriod)+3;j++){
                headerxmlString+="<column_"+i+">"
                    headerxmlString+=false
                headerxmlString+="</column_"+i+">"                  
            }
            headerxmlString+="</headerColumn>"
            headerxmlString+="</header>";
            GlobalVariables.GlobalVariables.HeaderXMLs=XML(headerxmlString);
            xmlstring+=headerxmlString;         
            xmlstring+="</root>";
            return XML(xmlstring);
        }

如果不看代码,就很难说问题出在哪里;但第一步是使用Flex builder中的分析工具,更好地了解内存分配的位置以及哪些方法一直在使用


XML集合中有多少“元素”?

如果要将dataSource属性设置为CreateDefaultXML函数,Flex将在每次排序数据、单击单元格或调整应用程序窗口大小时调用该函数。几乎任何影响AdvancedDataGrid或其内容的事件都会导致再次调用该函数


最好在组件creationComplete事件处理程序中调用CreateDefaultXML函数,并将值输出到可绑定变量。然后让您的AdvancedDataGrid使用Bindable变量作为数据源,这样您就不会一遍遍地重新创建它。当然,假设您的数据源设置为CreateDefualtXML。

您可以发布一些代码吗?这可能有助于我们了解您是如何创建XML的。