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

xiaoxiao2021-03-01  20

内容来源于: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的应用中相对比较少出现,而且跟其他代码相比,这个运行时错误不容易与其他代码发生冲突.

转载请注明原文地址: https://www.6miu.com/read-4550286.html

最新回复(0)