我的应用程序创建了一个包含几个组的窗口。当窗口关闭时,GC 不会收集窗口及其后代。
Flash Builder Profiler 帮助我找到并删除事件侦听器,直到我无法发现问题的地步,因为它指向从Window.as
.
具体来说,比较打开窗口之前和关闭窗口之后的游荡对象,并选择MyWin
类(1 个实例):
MyPackageName.MyWin(10 条路径)
10x 以下行:
功能 [savedThis] 569222 GCRoot:是字节:308
单击方法面板中的每个“功能”,我会在每个“功能”的顶部看到以下 10 个:
spark.components:Window:creationCompleteHandler() Window.as line 2610
spark.components:Window:creationCompleteHandler() Window.as line 2613
spark.components:Window:creationCompleteHandler() Window.as line 2616
spark.components:Window:creationCompleteHandler() Window.as line 2619
spark.components:Window:creationCompleteHandler() Window.as line 2625
spark.components:Window:creationCompleteHandler() Window.as line 2639
spark.components:Window:creationCompleteHandler() Window.as line 2636
Spark.components.supportClasses:SkinnableComponent:attachSkin() SkinnableComponent.as line 694
Spark.components:SkinnableContainer:partAdded() SkinnableContainter.as line 959
Spark.components:SkinnableContainer:partAdded() SkinnableContainter.as line 957
所有这些都以某种方式从 MyWin.initialize() 调用。
我已经删除了我的代码创建的每个事件侦听器,并删除了所有转换。但仍然无法弄清楚这个的含义以及我该如何处理窗口。任何帮助,将不胜感激,因为我已经挣扎了几天了。