プロプログラマ -Flex,Air,C#,Oracle,PHP-

プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます

自分自身のイベントを削除する

script内で、addEventListernerした場合、そのイベントは明示的にremoveするべきです。

ですが、都度addEventListernerを呼び出すようなコードを作るような場合、removeを忘れるとメモリリークの原因となる可能性があります。

毎回、addEventLIsternerするのであれば、呼び出したハンドラー関数内でイベントを削除しておきましょう。

			private function clickHandler(e:MouseEvent):void {
				IEventDispatcher(e.currentTarget).removeEventListener(e.type,
																	  arguments.callee);
				trace('clicked');
				// 処理
			}

ポイントは、IEventDispatcher(e.currentTarget).removeEventListener(e.type, arguments.callee);の部分ですね。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です