2014-04-23 84 views
0

我不清楚動作腳本3中的內存如何工作。我創建了一系列按鈕並將地址存儲到數組中的每個按鈕中。這些按鈕用於播放各種音樂文件,我希望正在播放的音樂具有特定的顏色(紅色),其他則爲白色。噹噹前選擇的按鈕被替換爲不同的按鈕時,我會調用以下代碼:在Actionscript 3中,addChild/removeChild對內存有什麼作用?

removeChild(songSelectButton[currSong]); 
var songSelWhite:Button = new Button(null, "images/TrackButtonNo.jpg", TRACK_SELECT_WIDTH, TRACK_SELECT_HEIGHT); 
songSelectButton[currSong] = songSelWhite; 

允許數組具有正確的按鈕。但是,我擔心我是否在浪費記憶。垃圾收集是否照顧到了這一點,還是我需要更好的方法?

回答

1

在大多數情況下,垃圾收集非常聰明,可以清理你所做的任何混亂。但是它可能需要時間來解決這個問題,並且它可以在決定做這件事情時真正綁定CPU。所以仔細管理記憶是有價值的。

在你的情況下,爲什麼要創建一個新的按鈕?你已經有了一個Button,看起來它已經在正確的位置和一切。只需更改圖像,任何聽衆以及任何其他您需要更改的屬性。那麼您不必擔心新按鈕被分配和釋放,您甚至不必擔心計算出的新佈局。

+0

謝謝,這正是我的想法。將這樣做。 – TomJeffries

相關問題