Archive for January, 2008
AS3で陥りがちなメモリーリーク
AS3ではガベージコレクションによるメモリ管理が導入されています。
ガベージコレクションとは、簡単に言えば「どこからも参照されなくなったオブジェクトがころあいを見計らって勝手にメモリから消去される」仕組みです。
この「どこからも参照されなくなった」という条件がクセモノで、気をつけないとすぐにメモリーリークの原因になります。
メソッドクロージャとバインドメソッド
「メソッドクロージャ」という用語の使われ方が混乱しているようなので詳しく調べてみました。
イベントリスナーの引数のデフォルト値をnullにする
AS3で採用されたイベントモデルでは、イベントリスナーの引数として必ずEventクラス(またはそのサブクラス)のオブジェクトが渡されますが、場面によっては、イベントで呼び出されるメソッドを直接呼び出したい場合があります。
そのような場合は、引数となるEventオブジェクトのデフォルト値をnullにしておくと便利です。
下の例では、testメソッドを直接実行したり、Timerを使って1秒後に呼び出したりしています。
eclipseでタブのスタイルを変更する
eclipse+Flex Builder plug-inの場合、
タブの形がeclipse標準のものになりますが、これがちょっと独特な形をしています。

「設定」→「一般」→「外観」で、
「トラディショナル・スタイルのタブを表示」をチェック
すると、すっきりします。

Flex Builder 3(eclipse)のワークスペースの管理
開発環境の全体像を掴むことは、気持ちよくプログラムを書くためにも重要です。
Flex Builderは、eclipseベースで作られているため、
ワークスペース、ワークベンチ、ワーキングセット、パースペクティブなど、
eclipseの様々な用語に戸惑います。
以下、それぞれの用語の概念とポイントをご紹介します。
Flex Builder 3 beta 3(Eclipse Plugin)のインストール
Embedタグを用いたFlash CS3とFlex Builderの連携
これまでは、あくまでFlex BuilderをFlash CS3のエディタとして利用する(デバッグ&ビルドはFlash CS3で行う)方法を紹介してきましたが、できればFlex Builderでデバッグ&ビルドまで行える、もしくはFlash CS3でもFlex Builderでも同じものをビルドできるのが理想的と言えます。
いくつかの方法を試してみた中で発見した、今のところ最も理想に近い方法を紹介します。
ポイントはFlex BuilderでSWFを読み込むためのEmbedタグを利用することです。