关于as3控制内存增长几个基础原则.docVIP

  • 4
  • 0
  • 约2.62千字
  • 约 6页
  • 2018-06-12 发布于湖北
  • 举报
Event listeners:? 事件侦听的响应函数所在对象默认会被添加引用计数,有以下两种方式可以避免事件侦听引起的内存泄漏 采用弱引用添加事件侦听(myObj.addEventListener( Event.SUP, this._onEvent, false, 0,?true?);) ,采用这种方式侦听响应函数对象不会被添加引用计数,若外部引用都被清空则对象将被垃圾回收,不再响应事件。 若采用强引用,则要要在不需要的时候手动调用removeEventListeneror 移除事件侦听器。 Clean up references:?如果?objA?有成员ob引用了?objB, 则直接设置?objB=null 将不会导致objB实例被垃圾回收,需要objA.ob=null之后才会将其回收。也就是说,一个对象的所有引用都被清理之后,其才会被垃圾回收(在AS中只要一个对象没有引用能追溯至根节点,即stage、static成员等,则会被垃圾回收)。 不注意清理引用是引起内存泄漏的一个常见问题。 a:obj = new obj(); b:obj = new obj(); a.foo = b; b.foo = a; a.foo =null; b.foo =null; a =null; b =null; class Loader { load(onFin:Function):void {

文档评论(0)

1亿VIP精品文档

相关文档