是否有任何方法可以计算(指定)从舞台中删除并具有活动侦听器的对象的平均数量?
我有一个非常大的项目(游戏),超过100个班级。现在我扫描每个班级,如果有活跃的不必要的听众,我将其删除。
现在,我想要这样一个工具,它会告诉我哪里有其他不必要的听众,或者至少告诉我是否有一切正常。
这就像一个愚蠢的问题,也许你可以建议我控制听众的任何工具。
谢谢
答案 0 :(得分:0)
没有一个打包工具可以执行此操作,但您可以创建某种映射实用程序来监视您的事件侦听器。此实用程序将提供API以允许您向特定对象添加侦听器并提供回调/处理程序。然后它将拥有所有对象及其回调的映射/列表。它可以通过静态方法或依赖注入提供此功能。
Flash Builder探查器是一种用于跟踪内存泄漏的绝佳工具,但它不提供您正在寻找的特定功能。
答案 1 :(得分:0)
首先,尝试使用弱事件侦听器,以便在任何DisplayObject设置为Null时删除它们。 其次,您必须自己构建此功能。 例如,找出在MainContainer DisplayObject中附加了Mouse CLICK事件的不可见对象。 你可以使用以下代码
For(var j:int = 0; j< MainContainer.length; j ++) {
var Obj = MainContainer.getChildAt(j);
if(!Obj.visible&& Obj.hasEventListener(MouseEvent.CLICK))
{
// 做一点事
}
}