Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 (AS3)是否需要removeEventListener?_Actionscript 3 - Fatal编程技术网

Actionscript 3 (AS3)是否需要removeEventListener?

Actionscript 3 (AS3)是否需要removeEventListener?,actionscript-3,Actionscript 3,removeEventListener是否与dealloc一样必要 我知道AS3中可能会出现内存泄漏,我只是想知道不删除事件侦听器是否是其中之一。是的,因为您将一个实例“绑定”到另一个实例的范围中。因此,当错误地处理事件时,您将在整个应用程序中获得交叉引用,垃圾收集将找不到任何可以从内存中释放的对象。是的,因为您将一个实例“绑定”到另一个实例的作用域中。因此,当错误地处理事件时,整个应用程序都会出现交叉引用,垃圾收集也找不到任何可以从内存中释放的对象。是的,我创建了一个巨大的项目,但没有删除任何

removeEventListener是否与dealloc一样必要


我知道AS3中可能会出现内存泄漏,我只是想知道不删除事件侦听器是否是其中之一。

是的,因为您将一个实例“绑定”到另一个实例的范围中。因此,当错误地处理事件时,您将在整个应用程序中获得交叉引用,垃圾收集将找不到任何可以从内存中释放的对象。

是的,因为您将一个实例“绑定”到另一个实例的作用域中。因此,当错误地处理事件时,整个应用程序都会出现交叉引用,垃圾收集也找不到任何可以从内存中释放的对象。

是的,我创建了一个巨大的项目,但没有删除任何eventListener,在长时间使用后,它确实获得了大量内存

任何具有强引用的对象都不会被垃圾收集,直到强引用被删除。。。。这适用于eventlistener、绑定等

您可以使用
removeEventListener(Event.TYPE,function)
或者使用weakReference

添加带有WeakReference的事件侦听器您只需向addMethod添加更多参数

obj.addEventListener(事件类型、函数、false、0、true)

addEventListener(类型:字符串,侦听器:函数,useCapture:Boolean=false,优先级:int=0,useWeakReference:Boolean=false):void

参数:
类型事件的类型。
侦听器处理事件的侦听器函数。此函数必须接受事件对象作为其唯一参数,并且必须
返回无,如本例所示:
功能(evt:事件):无效

函数可以有任何名称。
useCapture确定侦听器是在捕获阶段工作,还是在目标和冒泡阶段工作。如果useCapture设置为true,
侦听器仅在捕获阶段处理事件,而不是 处于目标或气泡阶段。如果useCapture为false,则侦听器 仅在目标或冒泡阶段处理事件。到 在所有三个阶段中侦听事件,调用addEventListener() 两次,一次useCapture设置为true,然后再次使用useCapture 设置为false。
优先级事件侦听器的优先级。优先级由32位整数指定。数字越高,越高 优先权。优先级为n的所有侦听器在 优先级为n-1的侦听器。如果两个或多个侦听器共享同一个 优先级,则按添加顺序对其进行处理。 默认优先级为0。
usewakreference确定对侦听器的引用是强引用还是弱引用。强引用(默认值)可防止 防止侦听器被垃圾收集。弱引用不起作用。
类级成员函数不受垃圾的约束


是的,我创建了一个巨大的项目,没有删除任何eventListener,经过长时间的使用,它确实获得了大量的内存

任何具有强引用的对象都不会被垃圾收集,直到强引用被删除。。。。这适用于eventlistener、绑定等

您可以使用
removeEventListener(Event.TYPE,function)
或者使用weakReference

添加带有WeakReference的事件侦听器您只需向addMethod添加更多参数

obj.addEventListener(事件类型、函数、false、0、true)

addEventListener(类型:字符串,侦听器:函数,useCapture:Boolean=false,优先级:int=0,useWeakReference:Boolean=false):void

参数:
类型事件的类型。
侦听器处理事件的侦听器函数。此函数必须接受事件对象作为其唯一参数,并且必须
返回无,如本例所示:
功能(evt:事件):无效

函数可以有任何名称。
useCapture确定侦听器是在捕获阶段工作,还是在目标和冒泡阶段工作。如果useCapture设置为true,
侦听器仅在捕获阶段处理事件,而不是 处于目标或气泡阶段。如果useCapture为false,则侦听器 仅在目标或冒泡阶段处理事件。到 在所有三个阶段中侦听事件,调用addEventListener() 两次,一次useCapture设置为true,然后再次使用useCapture 设置为false。
优先级事件侦听器的优先级。优先级由32位整数指定。数字越高,越高 优先权。优先级为n的所有侦听器在 优先级为n-1的侦听器。如果两个或多个侦听器共享同一个 优先级,则按添加顺序对其进行处理。 默认优先级为0。
usewakreference确定对侦听器的引用是强引用还是弱引用。强引用(默认值)可防止 防止侦听器被垃圾收集。弱引用不起作用。
类级成员函数不受垃圾的约束

可能的重复可能的重复