Flash为什么会内存泄漏?如何解决?flash的垃圾回收机制是怎样的?

内存泄漏产生的原理:

原理是当不小心留下了对对象的引用,会使它占用的内存无法回收,这样累积下来会让占用内存持续增长,就会导致内存泄漏。

 

内存泄漏的解决办法:

1.  要及时移除监听函数。

2.  如果为了避免忘记移除监听,那么有三种方法:a.监听函数使用弱引用 b. 为对象添加的监听处理函数是对象本身的方法.c. 为子对象添加的监听处理函数是父级对象的方法。 

3.  当不再需要使用引用的对象时,要把引用设为null

4. 利用 Flex 的性能优化工具 Profile 来对项目进程进行监控

 

关于垃圾回收机制:

垃圾回收机制的原理:没有访问某对象的引用,垃圾收集器就会回收对象曾占有的内存。垃圾回收机制的两种方法:引用计数、标记-清除。垃圾回收的时机:在Flash Player需要另外请求内存之前。这样,Flash Player可以重新利用垃圾对象所占用的内存资源,并且可以重新评估需要另外请求的内存数量,也会节省时间。而且只有当Flash占用的内存紧张到一定程度时才会执行真正的垃圾回收。

posted @ 2012-01-19 11:46  jason_xiao  阅读(213)  评论(0编辑  收藏  举报