我在Flash中存在內存使用問題,我成功卸載並從舞臺上刪除加載的 SWF,但我無法刪除加載的內存,並且fps也從30下降到了18。在ActionScript 3.0中卸載多個SWF問題
我如何加載SWF到內存中
- 我swfUrlArray陣列其中i保持SWF名(addreses恩。 「intro.swf」)。
- 我有swfModules Dictonary在哪裏我保持加載的SWF的。
我加載它們是這樣的:
mLoader = new Loader(); var mRequest:URLRequest = new URLRequest(url); mLoader.load(mRequest); mLoader.x = pozX; mLoader.y = pozY; swfModules[url] = mLoader; swfUrlArray.push(url); currentLoaded = url; addChild(mLoader);
刪除SWF在循環
for(var i=0; i < swfUrlArray.length; i++) { if(swfModules[swfUrlArray[i]] != null) { swfModules[swfUrlArray[i]].unloadAndStop(); removeChild(swfModules[swfUrlArray[i]]); } swfUrlArray=[]; }
我這裏懷疑的是,循環太快閃爍卸載SWF的內存爲 所有文件同時。 請對此問題提出任何建議或解決方案。
我設置了像你建議刪除引用的代碼,但似乎仍然沒有效果,我在外部SWF中使用跟蹤,在卸載並刪除輸出中的外部SWF引用後仍然有跟蹤註釋。如果你有什麼想法可以請發表評論,我會繼續嘗試。謝謝阿甘。 – SpaceA 2011-04-01 13:47:42