Re: [問題] 記憶體釋放的問題???

看板Flash作者 (呦厚厚)時間13年前 (2010/11/15 15:25), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
我找到一個可疑的原因 就是我主程式 再載入了一個 swf 而那個 swf再載入圖片後 我把那個 swf 移除後 記憶體卻沒有完全釋放掉 但我若把那張貼圖 放在那個swf的 fla裡面 不從外部載入 這樣記憶體就可以放掉 而我若不外部載入swf 直接外部載入貼圖 再刪除貼圖 記憶體還是沒有完全釋放 所以我懷疑是 外部載入貼圖的記憶體釋放不完全的關係 只釋放了一部分 似乎載入文字檔也會有這個問題 ???? 這是我寫的程式 裡面有個說明的文字檔 http://www.badongo.com/file/24614308 ※ 引述《yhn0tgb60 (呦厚厚)》之銘言: : 就是我的遊戲 : 會有不同的關卡在切換 : 而不同的關卡在切換時 是載入新的swf 再刪除舊的swf : 而舊的 swf再刪除時 : 會先 確定把事件都 removeEventListener 了 : 再 unloadAndStop() : (看F1的解釋這個functuion 會自動移除事件 不過我還是先手動移除一次 ) : 再 null : 然後再執行( 這段是google找的 好像是故意出錯來釋放記憶體 ) : try{ : new LocalConnection().connect('foo'); : new LocalConnection().connect('foo'); : } : catch(e:Error){} : System.gc(); : 不過最後發現記憶體還是沒釋放 : 關卡切來切去記憶體就一直加上去 加到最後就當掉了 : 感覺上 系統到記憶體無法負荷到當掉為止 都沒有執行 gc??? : 而程式中會做很多事情 外載入XML 貼圖 swf, 事件, new 物件,元件 : 因為做的事非常多很雜 很難把程式碼上放來~~~ : 想請大家分享一些 在釋放記憶體時的經驗或是必須注意的事情 : 聽說 XML 使用的記憶體無法被釋放 這是真的嗎??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.126.69

11/16 12:11, , 1F
= = 沒有人回我 這是無解嗎
11/16 12:11, 1F

11/24 10:20, , 2F
我也想知道要怎麼做可以清除,不然愈load愈肥
11/24 10:20, 2F

11/24 10:21, , 3F
dispose好像也沒效 = =
11/24 10:21, 3F
文章代碼(AID): #1CuE1eQD (Flash)
文章代碼(AID): #1CuE1eQD (Flash)