看了外国人JOSH TYNJALA写的一篇博客文章[url=http://joshblog.net/2009/04/23/unloading-child-swfs-in-flash/]《Be a good SWF citizen, listen for Event.UNLOAD》[/url],里面讲到说,被loader加载的代码本身最好要监听Event.Unload事件,来进行手动的引用清楚,好让虚拟机进行GC。
但是这里有几个引申出来的问题:
[list]
[*]这个事件需要手动对外部的loader调用unload方法才能发出,如果我在外面压根就不调用unload方法会怎么样呢?
[*]unload方法到底干了些什么事情?他会把loader.content置空?这个如果我手动写一个dispose方法,然后调用,在将loader的引用置空,有啥区别么?
[*]unload方法会将该swf中的类从ApplicationDomain中移除掉么?
[*]像现有的一些第三方开源loader像bulkloader,QueueLoader等,这种批量队列的下载工具类库,是不可能知道你什么时候需要unload这个对象,也不可能暴露出loader对象交给你自己来unload的吧?所以使用这类的工具类库又有什么需要注意的呢?
[/list]
但是这里有几个引申出来的问题:
[list]
[*]这个事件需要手动对外部的loader调用unload方法才能发出,如果我在外面压根就不调用unload方法会怎么样呢?
[*]unload方法到底干了些什么事情?他会把loader.content置空?这个如果我手动写一个dispose方法,然后调用,在将loader的引用置空,有啥区别么?
[*]unload方法会将该swf中的类从ApplicationDomain中移除掉么?
[*]像现有的一些第三方开源loader像bulkloader,QueueLoader等,这种批量队列的下载工具类库,是不可能知道你什么时候需要unload这个对象,也不可能暴露出loader对象交给你自己来unload的吧?所以使用这类的工具类库又有什么需要注意的呢?
[/list]