flash as3 内存管理和资源管理

来自大牛Grant Skinner的文章,我就一个翻译者

资源管理:
1、资源的回收,当发现没有引用者(unload而且没有相关的事件-such as listener-关联)后,会在下一次GC马上回收
2、因为需要GC下一次回收才能清理,并且没有任何方法卸载掉swf,所以界面不应该同时load入多个swf(对UI的设计有要求)
3、如果和当前的stage产生了关系(如鼠标事件和键盘事件的监听)且该关系不是弱引用的swf,则无法清理,只有退出了stage才能清理

资源回收管理的建议:
1、使用System.totalMemory进行检测(如果全部都是自己开发的swf可用flex builder的profile)
2、使用weak reference来设置listener

你可能感兴趣的:(UI,Flex,Flash)