2009-09-04 21 views
4

私のアプリのパフォーマンスが悪いと感じ、コードのどの部分が悪いのか把握したい。これらを見つける方法の良いチュートリアルはありますか?iPhoneアプリでパフォーマンスのボトルネックを見つけるには?

+0

「iPhoneアプリのパフォーマンスのボトルネックを見つけていますか?」という質問がある場合は、これが優れたタイトルになる可能性があります。あなたの質問とタイトルから、どのテクノロジーがあなたにもっと興味を持っているのかは不明です。 – lillq

答えて

9

Instrumentsはこの点であなたの友人であり、メモリリークを検出するための多くの優れたプロファイリングツール、使用しているメモリ量、実行中のコードの詳細なトレースなどがあります。インストゥルメントのユーザーガイドはhereです。

しかし、開発ツールとともにインストールされているSharkという小さなツールを調べるべきです。個人的には、私のコードをプロファイリングし、重要な時に何が起こっているのかを知るために、SharkがInstrumentsよりも有用であることがわかります。 Sharkの使用に関するたくさんの素晴らしい情報についてはOptimizing your Application with Shark 4を読んでください。

私はちょうど私のiPhoneアプリを最適化するのに費やしたことがあります。そしてSharkは素晴らしいツールです。いったんあなたが遅い場所を知ったら、速くすることは非常に難しいでしょう。特にUIImageを描画している場合は、画像を静的変数にたくさんキャッシュします!

最適化はコードの可読性を大幅に低下させる可能性があります。そのため、どこに注意を払い、絶対に必要なのかを確認してください。

+0

サメのいいヒントですが、iPhoneアプリに拘束する方法は?私が得るのは、ちょっとしたプロセス・クラップです。 –

+0

シミュレータでアプリを起動し、「すべて」を「処理」に変更して、プロセスリストからプロセスを選択します。これはアプリと同じ名前になります。デバイス上の何かをシャークしたい場合は、Sampling - > Network/iPhone Profiling ...を選択し、デバイスに接続してリストからプロセスを選択します。 – iKenndac

+0

デバイスをネットワーキングするときに選択するプロセスはありません。私が見るのは、活性化されたデバイスだけです。プロセスはグレー表示されます。 –

1

XCodeと同じディレクトリにある「Instruments」アプリケーションを使用して、いくつかのプロファイリングを実行します。

XCodesの "Run"メニューで "Start with Perfomance Tool"を使用して、Instrumentsでプログラムを実行できます。

関連する問題