簡體   English   中英

AS3-內存管理

[英]AS3 - Memory management

我對AS3內存管理有疑問,我想知道是否有人可以幫助我。

假設我為一個類創建了一個實例變量,在這種情況下或鍵入Sound:

public class SoundStore extends Sprite{

var s:Sound;

然后在各種類函數中,每次要加載新的聲音時,我都會多次引用此變量:

s = new Sound();

我是否正確地認為,每次創建新的聲音時,都會覆蓋以前分配的內存?

謝謝

否。AS3是一種垃圾收集語言,它使用引用計數來處理未使用的對象。

s變量在內部是指向包含Sound對象的內存塊的指針。 每次執行s = new Sound() AS3都會在內存中創建一個新的Sound對象,並將s指針設置為該對象的地址。 舊對象仍然存在於內存中。 如果沒有對舊對象的引用,則垃圾收集器將在某個時候(通常是下一個收集回合)處置該對象。 這意味着在任何時間點,您的內存中可能都有多個Sound對象,這些對象沒有被引用但仍在消耗資源。 垃圾收集器旨在定期遍歷所有分配的對象,並在沒有引用它們的情況下對其進行處理。

這是關於Flash / AS3中GC的不錯的文章: http : //www.adobe.com/devnet/flashplayer/articles/garbage_collection.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM