2014-01-08 53 views

回答

6

當您需要在Control(如ListView)中顯示大量數據時,需要虛擬化已創建和使用的Nodes的某種方法。否則會影響內存佔用,從而影響時間。

例如,如果您有1000萬個數據項,則不需要創建1000萬個節點。因此,您可以創建足夠的節點來動態填充顯示,並在用戶滾動瀏覽ListView控件時重新使用它們。

documentation

因爲樹視圖,ListView中,TableView中和其它這樣的控制可以 潛在地用於顯示令人難以置信的大量數據, 它不是爲每一個項目創建一個實際的細胞可行在 的控制下。我們代表非常大的數據集,只使用非常少的單元格。每個單元都被「回收」或重複使用。當我們說這些控件是虛擬化的時,這就是我們的意思 。

P.S:每個框架有這種類型的虛擬化,無論是Android的,WPF,JavaFX的等

從JavaFX的開發商之一: http://fxexperience.com/2009/09/ui-virtualization/