我需要將大量來自服務器的數據存儲到內存中,因此我必須根據我可以安全使用多少內存來編寫我的內存存儲算法,而無需掛起或崩潰瀏覽器。Flash電影可以在瀏覽器中使用的最大內存是多少?
是否有像1MB或100MB這樣的安全大小限制,全局變量的內容不應超過?
我需要將大量來自服務器的數據存儲到內存中,因此我必須根據我可以安全使用多少內存來編寫我的內存存儲算法,而無需掛起或崩潰瀏覽器。Flash電影可以在瀏覽器中使用的最大內存是多少?
是否有像1MB或100MB這樣的安全大小限制,全局變量的內容不應超過?
你可以檢查你使用多少內存有:
trace("MEMORY USAGE: " + (System.totalMemory/1048576) + "MB");
使用此功能可以幫助保持查找內存泄漏和改善你的垃圾收集的代碼。
在actionScript 2中,他們說你應該清除和刪除動態創建的對象以獲得最快的GC。
myArray[0] = "value";
myArray[0] = null; // to Garbage Collect
delete myArray[0];
沒有硬性和快速的限制,但對於針對中低端機器的Flash遊戲開發,我們發現保持內存佔用低於500MB可以顯着減少隨機崩潰。 :-D在看到內存容量限制之前,您可能會看到其他可擴展性限制(處理能力,單線程)的方式,除非您在本地或程序上(例如,使用生成的位圖)生成大量數據。
我始終建議切換到AS3,但我不認爲內存管理將成爲AS2的顯示屏。
我正在寫AS2,順便說一下,雖然如果需要更好的內存管理,我可以切換到AS3。 – 2009-05-05 09:37:27