いいえ、でも。
AVM2ガベージコレクタは、到達不能なオブジェクトを検出することになっています。しかし、ガベージコレクションは非決定論的であるため、この動作に依存したり、テストしたりすることは非常に困難です。ガベージコレクターは完全に機能している可能性がありますが、十分なRAMが空いているため、マークアンドスイープを実行する必要はありません。 。
オブジェクト自体(循環参照)からのものであっても、オブジェクトの使用が終了したら、イベントリスナーを削除することをお勧めします。なぜこれが良い考えなのですか?ガベージコレクタがいつ実行されるかわからないためです。決定論的な動作が必要な場合は、特にTIMERやENTER_FRAMEなどの時間に敏感なイベントの場合は、常に決定論的な方法でリスナーを削除してください。そうしないと、実行中のリスナーとガベージコレクターの実行中に競合状態が発生します。ガベージコレクタは定期的にのみ実行されます。
useWeakReference
一般に、オブジェクトへの追加の参照を作成せずにイベントリスナーをアタッチする場合は、のパラメーターにtrueを渡しますaddEventListener()
。ただし、イベントの受信をすぐに停止したい場合は、オブジェクトの処理が完了したらすぐに、イベントリスナーを手動で切り離す必要があります。