CodeZine(コードジン)

特集ページ一覧

サンプルソースで理解する! Flash Builder 4新機能チュートリアル

Flex 4マスターシリーズ

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2010/05/26 14:00
目次

オブジェクト参照(Premium Editionのみ)(サンプルプロジェクト : ObjectReferencesSample.fxp)

 プロファイラーの「オブジェクト参照」機能が改善され、指定オブジェクトのGC(Garbage Collection)ルートからのパス一覧が表示できるようになりました。

図 26. プロファイリングを実行
図 26. プロファイリングを実行

 プロファイラー設定のダイアログボックスが表示されたら、すべてのチェックボックス項目にチェックします。[再開]ボタンを押すと、プロファイリングが始まります。

図 27. プロファイラー設定のダイアログボックス
図 27. プロファイラー設定のダイアログボックス

 サンプルプロジェクトを実行すると、真っ白な画面が表示されるので、好きなところをクリックしてください。クリックした位置にボタンが生成されます。ボタンをクリックすると、ボタンは破棄されます。

図 28. 量産されたボタン
図 28. 量産されたボタン

 量産されたボタンをすべて削除します。このとき、メモリリークが発生していないかを調べます。「プロファイル」ビューを開き、実行中のプロファイルを選択して、[メモリのスナップショット]ボタンを押します。

図 29. 「プロファイル」ビュー
図 29. 「プロファイル」ビュー

 「メモリのスナップショット」が作成されるので、選択してダブルクリックします。

図 30. 「プロファイル」ビューの「メモリのスナップショット」
図 30. 「プロファイル」ビューの「メモリのスナップショット」

 ダブルクリックすることにより、「メモリのスナップショット」ビューが表示されます。

図 31. 「メモリのスナップショット」ビュー
図 31. 「メモリのスナップショット」ビュー

 サンプルアプリケーションで量産されたボタンのクラス名はMoveButtonです。このクラスを選択してダブルクリックすることにより、「オブジェクト参照」ビューが表示されます。

図 32. 「オブジェクト参照」ビュー
図 32. 「オブジェクト参照」ビュー

 先ほど、量産されたボタンはすべて削除したにも関わらず、多くのインスタンスが残りメモリリークを起こしています。このメモリリークの原因を探るために「オブジェクト参照」は役に立ちます。

 GCルートへのパスを確認するため、[プラス(+)]ボタンを押してインスタンスを展開します。

図 33. 「オブジェクト参照」ビュー(GCルートへのパスを確認)
図 33. 「オブジェクト参照」ビュー(GCルートへのパスを確認)

 インスタンスを展開すると、サンプルプロジェクトのMoveButton.mxmlの21行目に原因があることが確認できるはずです。

 メモリリークの原因になっているコード行をコメントアウトして、再度プロファイリングを行い、同じ手順を踏んで、メモリリークが発生するかを確認します。

図 34. メモリリークの原因になっているコード行をコメントアウト
図 34. メモリリークの原因になっているコード行をコメントアウト

 「オブジェクト参照」ビューで、メモリリークが解消されたことが確認できました。

図 35. 「オブジェクト参照」ビュー
図 35. 「オブジェクト参照」ビュー

おわりに

 以上がFlash Builder 4の新機能の一部でした。

 Flex Builder 3と比べて、細かいところにまで手が届くかのように、機能が強化されたことに気付いていただけたかと思います。これらのチュートリアル、サンプルコードを試すことによって、Flash Builder 4での開発効率は格段に上がるでしょう。

「FlexではじめるRIA開発」特集、絶賛公開中!


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Adobe Developer Connection

もっと読む

著者プロフィール

  • 廣畑 大雅 (taiga)(ヒロハタ タイガ)

    taiga.jp フリーランスの Web ディレクター/デザイナー。 Flash コンテンツ、Flex アプリケーションの設計/開発を中心に活動中。 Adobe 公式ユーザグループ F-site にも懇親会専用スタッフとして活動する。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5