(ฉันไม่คิดบวกเกี่ยวกับเรื่องนี้ แต่ ... )
AS3 ใช้การรวบรวมขยะที่ไม่ได้กำหนดไว้ซึ่งหมายความว่าหน่วยความจำที่ถูกอ้างถึงจะถูกปล่อยออกมาเมื่อใดก็ตามที่รันไทม์รู้สึกเช่นนั้น (โดยทั่วไปจะไม่ใช่เว้นแต่จะมีเหตุผลในการรันเนื่องจากเป็นการดำเนินการที่มีราคาแพง) นี่เป็นแนวทางเดียวกับที่ใช้กับภาษาเก็บขยะสมัยใหม่ส่วนใหญ่ (เช่น C # และ Java เช่นกัน)
สมมติว่าไม่มีการอ้างอิงอื่น ๆ ไปยังหน่วยความจำที่ชี้โดยbyteArray
หรือรายการภายในอาร์เรย์หน่วยความจำจะถูกปลดปล่อยในบางจุดหลังจากที่คุณออกจากขอบเขตที่byteArray
มีการประกาศ
คุณสามารถบังคับเก็บขยะได้แม้ว่าคุณจะไม่ควรก็ตาม ถ้าคุณทำให้ทำเพื่อทดสอบเท่านั้น หากคุณทำในขั้นตอนการผลิตคุณจะทำร้ายประสิทธิภาพมากกว่าที่จะช่วยได้
ในการบังคับ GC ให้ลอง (ใช่สองครั้ง):
flash.system.System.gc();
flash.system.System.gc();
คุณสามารถอ่านเพิ่มเติมได้ที่นี่