gpt4 book ai didi

actionscript-3 - Adobe Air AS3,配置窗口,profiler 建议库代码

转载 作者:行者123 更新时间:2023-12-04 04:30:01 25 4
gpt4 key购买 nike

我的应用程序创建了一个包含几个组的窗口。当窗口关闭时,GC 不会收集窗口及其后代。

Flash Builder Profiler 帮助我找到并删除了事件监听器,以至于我无法发现问题,因为它指向从 Window.as 的库代码中添加的事件监听器.

具体来说,比较开窗前和关窗后的游荡对象,选择MyWin类(1 个实例):

MyPackageName.MyWin(10 个路径)

10 倍以下行:

Function [savedThis] 569222 GCRoot:Yes bytes: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() 调用。

我删除了我的代码创建的每个事件监听器,并删除了所有转换。
但仍然无法弄清楚这是什么意思,我该如何处理这个窗口。
任何帮助,将不胜感激,因为我已经挣扎了几天了。

最佳答案

You can try to use 

System.pauseForGCIfCollectionImminent(1)

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/System.html#pauseForGCIfCollectionImminent%28%29

or try to use

System.gc()

in this way

private var numCollected; uint = 0;

private function gCollect(): void
{
addEventListeners(Event.ENTER_FRAME, onEFGCollect);
}

private function onEFGCollect(event: Event): void
{
numCollected++;
System.gc();
if(numCollected > 2)
removeEventListeners(Event.ENTER_FRAME, onEFGCollect);
}

我们在不同的帧中使用 System.gc() 两次,因为要收集对象,需要将所有对象都标记为已收集 - 只有在此之后 System.gc() 才能收集对象。

关于actionscript-3 - Adobe Air AS3,配置窗口,profiler 建议库代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12789982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com