使用 Adobe Flex 3,有没有办法指定终结器?
问问题
326 次
2 回答
5
ActionScript 3 中没有终结器/析构器的概念,即使在 AVM/字节码级别也是如此。
于 2010-07-29T12:52:59.327 回答
0
即使 ActionScript 本身没有析构函数/终结器之类的东西,我认为当您不再需要它们时,拥有一个释放类中所有资源的方法是一种很好的做法。
垃圾收集只拾取任何地方不再需要的对象,它使用引用计数来确定何时出现这种情况。所以只要有未移除的事件监听器、循环依赖(对象相互引用)等,你可能不会注意到,但你的内存使用量会不断增加,GC 根本不会释放这些资源。
因此,您应该有一个destroy()
orfinalize
方法:
- 移除所有事件监听器
- 调用
destroy()
或finalize()
嵌套对象 delete
s 字典中的所有强对象键- 将所有对象类型变量设置为
null
(可以不重置原始值)
对于显示对象,在调度时调用此方法通常不是一个坏主意Event.REMOVED_FROM_STAGE
。
于 2013-01-24T06:30:19.033 回答