«

»

8月 02

メモリリークとInstruments


最近少し凝ったiPhoneアプリを作り始めたせいか、メモリ管理について気になったのでXCodeに付属の「Instruments」というツールを使ってみた。

InstrumentsはiPhoneアプリだけではなくCocoaアプリ全般に使えるメモリの利用状況やCPU使用状況などを表示してくれるツールで、今回はiPhoneアプリのメモリリーク監視に使ってみました。

使い方は単純で以下のとおり

  1. XCodeを起動して監視したい対象のアプリのプロジェクトを開く
  2. 「ビルド」→「クリーニング」で一旦プロジェクトをクリーンにする
    • プロジェクトをクリーニングしないとコード変更後の内容が反映されていないアプリケーションの実体で起動されてしまう場合があるので注意してください
  3. ビルドしてアプリケーションの実体(*.app)を作成
  4. 「実行」→「パフォーマンスツールを使って実行」→「Leaks」をクリック

起動して10秒程で出るわ出るわメモリリークしたオブジェクトの数々(汗)

おもわずポカーンとしてしまった。。。

今回WebAPIとCoreDataを組み合わせたアプリを作ろうとしていてそうなったのだけれども、あまりに酷かったので公式サイトで公開されているサンプルプロジェクトをベースに作り直し始めることにしました。

でも、公式サイトで公開されているサンプルプロジェクトの中にもメモリリークが発生しているものがあったのはナイショですw

せっかくなので実際にメモリリークがあった場合にはどのような表示が出るかスクリーンショットを撮ったので掲載しておきます。

赤いバーがそのタイミングでメモリリークしたことを表し、青いバーは累計のメモリリーク量を表します。

コメントをどうぞ

メールアドレスは公開されません

次の HTMLタグおよび属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

edited by