作者yhn0tgb60 (呦厚厚)
看板Flash
标题Re: [问题] 记忆体释放的问题???
时间Mon Nov 15 15:25:26 2010
我找到一个可疑的原因
就是我主程式 再载入了一个 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
1F:→ yhn0tgb60:= = 没有人回我 这是无解吗 11/16 12:11
2F:推 jimi7788:我也想知道要怎麽做可以清除,不然愈load愈肥 11/24 10:20
3F:→ jimi7788:dispose好像也没效 = = 11/24 10:21