タグ別アーカイブ: Instrument

TimeProfilerの使い方

CATEGORIES iPhone, 北海道ラボby.a.takeuchi1 Comments2011.02.28

前回はLeaksについて書きましたが、今回はTime Profilerについてまとめます。

TImeProfilerはシステムの中でどこの処理に時間(リソース)をつかっているかを可視化し、チューニングを行うためのツールです。

実行 -> パフォーマンスツールを使って実行 -> TimeProfiler

実行 -> パフォーマンスツールを使って実行 -> TimeProfiler

 

前回のLeaks同様に実行しましょう。実行と同時にiPhoneシミュレータも起動します。(ユーザごとの設定によります)

私は、シミュレータではなく実機で使っています。実は、iPhone3GSはあまりNSUserDefaultsを連続して呼ぶとフリーズしていまうというバグ(?)があり、TimeProfilerでみて処理を変えた経験から、テストは常に実機です。

起動初期の画面

起動初期の画面

画面左のcall Treeペイン

画面左のcall Treeペイン

起動初期画面左の中くらいの位置にある、CallTreeのチェックボックスは図のようにするといいでしょう。こうしておけば、System Libなどは表示されず調整しやすくなります。後は、iPhoneアプリをぐりぐりと動かしてみてください。

処理に時間がかかっている場所がグラフィカルに可視化される

このように、同一クラス内で処理に時間の掛かっている部分の割合が表示されてます!!(ちなみに、上の画面は関数名をダブルクリックすると表示されます。)

便利ですね。みなさんもこうやって地道にチューニングしていきましょう

快適にアプリケーションを使ってもらうためには、最適なメモリー管理と動作のボトルネックを解消することです。

最適な学習環境を提供するために、SmartBrainはメモリー管理こそ無いものの、パフォーマンスチューニングを日々行っています。
実は、使いやすい・気持ち良い ・楽しいは学習にかかわらず仕事でも重要ですよね。

今回は、iPhoneの開発で利用するLeaksについてちょっとした使い方をまとめます。
memory warning Level=**みたいなものが出てるそこのあなた!!
Leaksを使ってメモリーリークを解消しましょう。

(次回はTime Profilerについての予定)
それでは、まずXCodeを起動してLeaksを実行しましょう。
(当然何かしらのプロジェクトを開いてないと実行できません)



実行をひらきましょう



パフォーマンスツールを使って実行からLeaksをクリック

すると以下のような画面が立ち上がります。
(通常立ち上がりと同時にシミュレータとサンプリングが開始されます。)



Leaks起動数秒後

起動しただけなのに、もう漏れてますね。これはいけません。メモリーリークがあると、”落ちる”減少が頻発します。またNSUserDefaultsに正しく保存できないなど、 百害あって一利なしです!

それでは、メモリーリークを根絶しましょう。画面左側の「水道管が破裂」したようなアイコンのあるエリアをクリックしましょう。すると以下の画面に変わるはずです。



左上のLeaksボタンを押すとこのような画面になります (右ペインは画面上部のViewの一番右を押しましょう)

完全にリークしてますね。右ペインには下から main -> TopMenu…. -> ViewCon….とメモリーリークを起こしている部分までのつながりが表示されています。 (人形の黒いアイコンが付いているものがユーザー定義の関数です)それでは、右ペインの ViewController4 viewDidLoadを見てみましょう。



メモリーリーク箇所を特定

NSMutableArrayが66.7%も漏れていますね。 きっとreleaseのし忘れでしょう。といった具合に リークしている可能性がある箇所を分かりやすく表示してくれるのがLeaksです。

ちなみに、メモリーリークチェックはデフォルトで10秒置きに起動します。すぐにチェックしたい!という人はしたの画像に有るように「Check for Leaks Now」を押してあげるとすぐにチェックしてくれます。



すぐにメモリーリークをチェックしたい場合

地道にメモリーリークは潰していくしかありませんね。

  • 製品・サービス
    PC、iPhone対応のeラーニングシステム。20名まで無料でASPサービスを利用できます
    PC、iPhone対応のeラーニング学習管理システム(LMS)【SmartBrain】
    http://smartbrain.info/
    PC、iPhone対応のeラーニングシステム。ユーザ数無制限のASPコースをご用意。


    eラーニングポータルサイト【elearning.co.jp】
    http://elearning.co.jp/
    eラーニング専門企業(株)キバンインターナショナルの製品を紹介しています。


    コンテンツビジネス支援パック
    http://contentsbank.jp/

    Ustream配信、動画コンテンツ制作、セミナーにご利用いただけるレンタルスタジオ
    Ustreamレンタルスタジオ「パンダスタジオ」
    http://pandastudio.tv/

    eラーニング専門企業(株)キバンインターナショナルのスタッフが、eラーニングに関する情報・最新事情をBlogでご紹介。月50本程度の情報発信を行っています。
    ブログ「blog.eラーニング.co.jp」
    http://blog.elearning.co.jp/

  • アーカイブ
  • カテゴリー
  • Amazon
  • タグ