2012-05-06 5 views
4

顧客に提供されたプロフェッショナルアプリケーションが、どのように優雅で、滑らかで、アプリケーションクラッシュが少ないか、全くないのだろうか。私はいつも問題はメモリリーク、NSZombieまたは十分なパフォーマンスが不十分であることを主に参照してください。インスツルメントを使用したiOSアプリケーション開発のベストプラクティス

インストゥルメントツールの問題を解決するのは素晴らしいことです。しかし、私はちょうどメモリリークとゾンビテンプレートに精通しています。もちろん、私たちのアプリケーションを追跡して修正するための他の興味深いツールがあると思います。

私の質問: Instrumentsを使ってアプリケーションをシャープにする最良の戦略は何ですか?楽器テンプレートや提案をお勧めしますか?

あなたの経験を共有して議論しましょう!

* 更新:*私はこの質問をwikiに編集する必要がありますか?それは、戦略を分かち合うことができるということだけではありません。

+0

Cmd + Iを押すだけです。その後、楽器が開かれ、楽器でやりたいことを選択して....テスト – VietHung

答えて

0

Appleは自動参照カウント(ARC)と呼ばれる魅力的な機能を導入しており、ほぼすべてのメモリを制御できます。あなたは、弱い/強いパラメータのプロパティを設定する必要があります。また、メモリリークのほとんどすべての問題を解消します。 ツールについては、私はInstruments以外のアプリは知らない。インストゥルメントはすべて...インストゥルメント:私はテストをするために必要です。

+0

もちろん、ARCは新しいXcodeの本当に素晴らしい機能です。開発者がメモリ管理の問題に注意を払うのを助ける。しかし、私はそれが強力なアプリケーションでより重要な要素だと思います。 :) – Sakares

3

主に(約98.2%の時間)、リークとアロケーションのテンプレートを使用しています。また、多くの人が知りませんが、Xcode 4では、Xcodeの機器を使用してアプリを起動できます。トップメニューから、Product - > Profileを選択します。

また、ARCを使用している場合でも、メモリの使い方とオブジェクトの割り当て方法を意識しておく必要があります。多くの場合、ARCはうまくやっていましたが、コードのプログラミングの変更が少なかったため、割り当てられたオブジェクトがずっと少なくなりました。 ARCはコードを書くときに役立ちますが、アプリケーションをできるだけ効率的にするためにアプリケーションをテストしたりプロファイリングしたりしてはならないという言い訳ではありません。

1

はい、計測器は重要です。 ARCは最悪のメモリ問題を緩和します。 Analyze(製品メニュー)もまた評価されていません。

はチェックアウトプログラム123、あなたのコードの安定性に影響を与える可能性が他の問題の素敵な議論を持っているアプリケーションフレームワークセクション、中WWDC 2011にあなたのアプリ、の安定性を向上させる(私は特にテストの議論を考えますいいね)。

最後に、エレガンスはツールの製品ではなく、優れたデザインです。エレガントな製品を作るには驚くほど多くの作業が必要です。 HIGとそこに含まれるより広い哲学のテーマを受け入れてください。また、尊敬する開発者とのコードレビューやデザインレビューも行います。

1

CPUサンプラー(Time Profiler)は、プログラムが実行時間を費やしている場所を教えてくれます。あなたのアプリが「遅い」場合、この楽器は、消費者がどこに問題があるのか​​、そしてあなたがそのプログラムを理解すれば、どのように問題を解決できるかを判断するのに役立ちます。

プログラムを理解するために、またプログラムが依存する抽象化の背後にある実装を理解するために、この装置を定期的に実行してください。問題が発生するまで待たないでください。


CPUサンプラーを使用して、プログラムのスレッドのコールスタックを記録できます。これは高い頻度で記録されます。サンプラーは、最も時間を費やしている機能や、何パーセントの時間を費やしているかなどの情報を表示します。ライブラリーや機能を呼び出し元に請求したり、必要に応じて粒度を選択したり、変更できないものを隠すことができます。興味のある関数やメソッドを見つけたら、Instrumentsのソースファイルを見ることができます。それはあなたのために長続きするものを分解します。

+0

CPUサンプラーを使って私に例を教えてもらえますか?ちょっとした問題と解決策。 (いくつかの画像の説明は素晴らしいです) – Sakares

+0

拡大、写真はありません – justin

関連する問題