ダウンロード サンプルファイル (19.6 KB)
Flash Builder 4.5 Premiumには、アプリケーションのパフォーマンスチューニングに役立つプロファイラの機能が付いています。本稿では、プロファイラの機能を紹介し、実際に使用して問題の原因を特定するまでの流れを説明していきます。
なお、本稿では、Windowsスタンドアロン版のFlash Builder 4.5 Premiumの使用を前提としています。他OSやプラグイン版とはユーザーインターフェースが一部異なる場合があるため、ご注意ください。
プロファイラで何ができるのか
プロファイラには様々な機能がありますが、大まかに分けると以下の2つの機能があります。
-
メモリのプロファイリング
どのクラスのインスタンスが何個作成され、それらがどれだけのメモリを使用しているのかを調べることができます。
-
パフォーマンスのプロファイリング
メソッドが何度実行され、それらにどれだけの時間が掛かったのかを調べることができます。
これらの機能が、アプリケーションのボトルネックとなっている処理や、メモリリークしているクラスを特定する助けとなります。
プロファイラの使い方
プロファイラの起動
では早速、プロファイラを起動してみましょう。パッケージエクスプローラからプロファイルしたいアプリケーションを選択し、メニューから[実行]-[プロファイル]を選択します。ツールバーの[プロファイル]ボタン(
)や、アプリケーションのコンテキストメニューからも実行できます。
アプリケーションやデバッグ環境に問題が無ければ、このようなダイアログが表示されます。
デフォルトでは、「オブジェクト割り当てスタックトレースを生成」以外にチェックが入っています。とりあえずそのままで[再開]ボタンをクリックします。すると、プロファイル対象のアプリケーションが起動し、Flash Builderは、Flashプロファイルパースペクティブに切り替わります。
プロファイルビューには現在プロファイル中のアプリケーション、メモリ使用量ビューにはプロファイルビューで選択しているアプリケーションのメモリ使用量グラフが表示されています。また、ライブオブジェクトビューには、現在アプリケーション内に存在するクラスのインスタンス数とメモリ使用量が表示されています。実行中のアプリケーションを操作すると、メモリ使用量やライブオブジェクトに何らかの変化が現れるかもしれません。
メモリ使用量の推移計測
メモリ使用量ビューでは、アプリケーション内でオブジェクトが作成されたり、ガベージコレクタが実行され参照がなくなったオブジェクトが消滅することでメモリの使用量が増減していく様子が、折れ線グラフで表されます。また、プロファイルビューの[ガベージコレクタを実行]ボタン(
)をクリックすると、通常はFlash Playerによって自動的に実行されるガベージコレクタを、任意のタイミングで実行できます。
もし、アプリケーション内で何らかの操作を繰り返し行うことで想定外にメモリの使用量が増えていき、ガベージコレクタを実行してもメモリ使用量が減らなかった場合は、その処理でのメモリリークが疑われます。プロファイル開始時のダイアログで「メモリのプロファイリングを有効にする」のチェックを外した場合、メモリの使用量ビューは使用できません。
この記事は参考になりましたか?
- この記事の著者
-
石上 慎太郎(イシガミ シンタロウ)
クラスメソッド株式会社(http://classmethod.jp)所属ソフトウェアエンジニア。 主にAdobe Flash Platformの各種技術を用いたユーザーインターフェイス設計/実装を担当している。 学生時代よりFlashをこよなく愛すプログラマー。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア


