SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

Flash Builderのプロファイラを使用したパフォーマンスチューニング

Flash Builder 4.5 Premiumのプロファイラ機能を試してみよう!

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

 Flash Builder 4.5 Premiumには、アプリケーションのパフォーマンスチューニングに役立つプロファイラの機能が付いています。本稿では、プロファイラの機能を紹介し、実際に使用して問題の原因を特定するまでの流れを説明していきます。

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

 なお、本稿では、Windowsスタンドアロン版のFlash Builder 4.5 Premiumの使用を前提としています。他OSやプラグイン版とはユーザーインターフェースが一部異なる場合があるため、ご注意ください。

プロファイラで何ができるのか

 プロファイラには様々な機能がありますが、大まかに分けると以下の2つの機能があります。

  • メモリのプロファイリング

     どのクラスのインスタンスが何個作成され、それらがどれだけのメモリを使用しているのかを調べることができます。

  • パフォーマンスのプロファイリング

     メソッドが何度実行され、それらにどれだけの時間が掛かったのかを調べることができます。

 これらの機能が、アプリケーションのボトルネックとなっている処理や、メモリリークしているクラスを特定する助けとなります。

プロファイラの使い方

プロファイラの起動

 では早速、プロファイラを起動してみましょう。パッケージエクスプローラからプロファイルしたいアプリケーションを選択し、メニューから[実行]-[プロファイル]を選択します。ツールバーの[プロファイル]ボタン(アイコン1)や、アプリケーションのコンテキストメニューからも実行できます。

プロファイラの実行
プロファイラの実行

 アプリケーションやデバッグ環境に問題が無ければ、このようなダイアログが表示されます。

プロファイラ設定ダイアログ
プロファイラ設定ダイアログ

 デフォルトでは、「オブジェクト割り当てスタックトレースを生成」以外にチェックが入っています。とりあえずそのままで[再開]ボタンをクリックします。すると、プロファイル対象のアプリケーションが起動し、Flash Builderは、Flashプロファイルパースペクティブに切り替わります。

 プロファイルビューには現在プロファイル中のアプリケーション、メモリ使用量ビューにはプロファイルビューで選択しているアプリケーションのメモリ使用量グラフが表示されています。また、ライブオブジェクトビューには、現在アプリケーション内に存在するクラスのインスタンス数とメモリ使用量が表示されています。実行中のアプリケーションを操作すると、メモリ使用量やライブオブジェクトに何らかの変化が現れるかもしれません。

Flash プロファイルパースペクティブ
Flash プロファイルパースペクティブ

メモリ使用量の推移計測

 メモリ使用量ビューでは、アプリケーション内でオブジェクトが作成されたり、ガベージコレクタが実行され参照がなくなったオブジェクトが消滅することでメモリの使用量が増減していく様子が、折れ線グラフで表されます。また、プロファイルビューの[ガベージコレクタを実行]ボタン(アイコン2)をクリックすると、通常はFlash Playerによって自動的に実行されるガベージコレクタを、任意のタイミングで実行できます。

 もし、アプリケーション内で何らかの操作を繰り返し行うことで想定外にメモリの使用量が増えていき、ガベージコレクタを実行してもメモリ使用量が減らなかった場合は、その処理でのメモリリークが疑われます。プロファイル開始時のダイアログで「メモリのプロファイリングを有効にする」のチェックを外した場合、メモリの使用量ビューは使用できません。

メモリ使用量ビュー
メモリ使用量ビュー

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
クラスのインスタンス数の計測

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

石上 慎太郎(イシガミ シンタロウ)

クラスメソッド株式会社(http://classmethod.jp)所属ソフトウェアエンジニア。 主にAdobe Flash Platformの各種技術を用いたユーザーインターフェイス設計/実装を担当している。 学生時代よりFlashをこよなく愛すプログラマー。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6208 2011/10/13 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング