2011-06-07 45 views
1

我有一個spark列表,其中有一個customItemRenderer,只需要50個項目就可以進行3秒的初始化。使用自定義渲染器進行慢火花列表初始化

我正在使用Flex 4.5,我的ItemRenderer已經非常優化,使用盡可能少的嵌套,fxg等等。

有沒有人有類似的問題? 我已經嘗試了幾乎所有的書吧,回到mx。

+0

您同時顯示多少個項目?請發佈您的代碼。 – 2011-06-07 15:57:31

+0

那裏有任何綁定? – RIAstar 2011-06-07 15:59:13

+0

我刪除了綁定,儘管它確實產生了小的性能改進,但它仍然需要大約4秒鐘來顯示列表,它目前有8-10個顯示的項目。 – Pedro 2011-06-08 07:57:47

回答

0

您的項目渲染器複選框是否有任何機會?最近有幾個人遇到了Spark一系列的性能問題。

http://blogs.adobe.com/aharui/2011/04/migratory-foul-performance-problems-migrating-from-flex-3-x-to-flex-4-x.html

Adob​​e公司已經得到通知,顯然是在它的工作: https://bugs.adobe.com/jira/browse/SDK-29451

+0

嗯,我確定它是某種程度上相關的,我正在閱讀它,感謝鏈接,我不知何故錯過了它們,但是我沒有複選框或任何複雜的東西,它是一個簡單的列表,帶有6個標籤1文本並使用盡可能小的容器尺寸。 – Pedro 2011-06-08 07:56:33

1

儘可能避免HGroup和VGroup,而不是使用絕對佈局。我已經遇到了同樣的問題,我已經解決了大部分問題。 1個hgroup + 1vgroup每三次= 6個自動佈局每個項目。所以總共有150個物體,太多了。

1

在應用猴子補丁mentioned by Pedro後,只有適度的性能提升(我想我們的樣式較少,或者性能已在更新的補丁中修復),我繼續分析我們的List實例的初始化。

的一件事是,我發現Flex的花費相當多的時間在UIComponent的功能,即使我們的應用程序不支持輔助功能以任何方式(無論是應用程序應該做的是一個完全不同的問題)。

只需將-accessible=false添加到編譯器參數中,即將初始化特別繁重的列表花費了大約三分之一的時間!不僅如此,整個應用程序在打開窗口,首次顯示控件等時感覺更加靈活。如果您不需要輔助功能支持,則可能需要檢查這一點 - 如果您確實需要,我可以肯定可以做些什麼來修復的糟糕表現 - 只需在您的組件實現中重寫它,或者通過更多的猴子修補:-)

+0

WOW你對「可訪問」編譯器選項是正確的。然後docs是錯誤的,默認值是不是錯誤? [關於編譯器選項](http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7a92.html) – Nemi 2016-09-13 02:43:13

+0

我檢查了它,文檔是正確的。我發現'accessible'設置爲true,在我的情況下,在[Apache Flex air-config.xml構建文件]中(https://github.com/apache/flex-sdk/blob/develop/frameworks/air- config.xml文件#L32)。 – Nemi 2016-09-13 02:55:08