`
NewTamato
  • 浏览: 101484 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

hack形式的垃圾回收机强制执行

阅读更多

内容来源于:http://bbs.actionscript3.cn/thread-234-1-1.html
核心代码:
try{
        new LocalConnection().connect("MoonSpirit");
        new LocalConnection().connect("MoonSpirit");
}catch(error : Error){

}

PS.在做Flash应用开发时,一直有Flash占用大量内存的问题,主要集中在BitmapData(位图)处理方面。我今天在《ActionScript3天地会》的论坛看到这个有关gc回收的变通处理方法。因此收藏一下,以备往后用到。


另外关于为什么用LocalConnection方式的解释是
其实LocalConnection与垃圾回收是没有直接关系的.
这个做法的原理在于垃圾回收的时间尽管不确定,但是,只要程序抛出错误,就会运行一次垃圾回收器.这里使用LocalConnection两次 connect同一个连接,第二次将发生运行时错误(#1034,LocalConnection已经连接上).于是就报错了.垃圾回收器自动运行.
至于为什么网上流传的版本都是LocalConnection,我个人觉得,可能是因为这个LocalConnection在AS3的应用中相对比较少出现,而且跟其他代码相比,这个运行时错误不容易与其他代码发生冲突.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics