Objective-Cオブジェクトの割り振りと割り振りを追跡することは可能ですか?たとえば、私がクラスBookを持っているならば、私はBookタイプのオブジェクトのすべての割り当てと割り当て解除を追跡したいと思います。 UIViewController、UIWindow、UIView、NSDictionaryなどすべてのデフォルトのSKDクラスを追跡できますが、定義したクラスから作成されたオブジェクトも追跡したいと思います。Instruments割り振りは、ユーザー定義クラスのオブジェクトのallocとdeallocを追跡します。
答えて
割り当ての計測器を使用して、オブジェクトのライフサイクルを追跡できます。 「割り当て」テンプレートを使用する場合は、malloc
とfree
イベントを記録するように設定されています。楽器が録音されている間(あなたはこれを切り替えることはできません
を:あなたはまた、割当機器の設定で「レコードの参照カウント」のチェックボックスをオンにしてretain
、release
、およびautorelease
イベントを記録するように設定することもできます、それはできるだけ早くあなたのテンプレートを選択すると、デフォルトで開始する)
更新Xcodeの9のために:。 Appleはそれがより困難これらの設定を見つけるようになりました。次に、Allocationsインストゥルメントを選択し、メニューバーからFile> Recording Optionsを選択します。あなたの実行後に
、あなたは詳細ペイン(ウィンドウの下半分)のデフォルト設定ですアロケーション>統計>オブジェクトの概要ビューを使用してオブジェクトを検索することができます
あなたが実行を停止する前に割り当てを解除されたオブジェクトを表示したい場合は、「すべてのオブジェクトが作成された」(デフォルト)に「&スティルリビングに作成」から設定を割り当て寿命を変更する必要があります。
特定のクラスのオブジェクトを検索するには、ウィンドウのツールバーの右端にある検索フィールドにクラス名を入力します。次に、リストビューのカテゴリ列でクラス名を見つけて、その上にマウスを移動し、その横に表示される矢印をクリックします。例えば、私のアプリはTile
という名前のクラスを持っているので、私はそれを検索して、リストビューでTile
の隣にある矢印をクリックします。
今リストビューがTile
のすべてのインスタンスを示しています。 NSObject
と入力すると、[NSObject alloc]
で作成されたオブジェクトのみが見つかり、[Tile alloc]
で作成されたオブジェクトではありません。)特定のインスタンスの履歴は、クリックすると表示されます次回、そのインスタンスのアドレスへの矢印:
オブジェクトの詳細ビューでは、私はmalloc
とfree
イベントを見ることができると、私は「レコードの参照カウント」をオンにするので、私も見ることができますretain
、release
、およびautorelease
メッセージとそのオブジェクトの保持カウントへの影響。私はこれらのイベントのいずれかの呼び出しスタックを確認したい場合は、私は、ウィンドウの右側に拡張詳細パネルを開くことができます。
これは素晴らしい記事です。インタラクティブ画像の場合+1。これらのスクリーンショットを作成するためにどのアプリを使用しましたか? – gyurisc
私はScreenFlowを使って画面を記録し、各ビデオの長さとサイズを編集しました。その後、Photoshopを使用して各動画をアニメーションGIFに変換しました。 –
@robmayoff fabulas仕事、あなたのような人たちは、iOSコミュニティがますます多くのことを学ぶのを手伝っています。 – Alok