SSブログ

アプリ開発(9) メモリ管理をしよう! [iPadアプリ開発]

私は1998年に国内大手SIerに就職しシステムエンジニアとしての社会人人生を始めました。
その当時はWebシステムをJavaで構築するという話はまだ主流ではなく「クラサバ」というClient Server Systemが主流でWebシステム開発はごくごく少なかったです。私は個人的は1995年に英語で作成していた個人のホームページをプロバイダのスペースを利用して作成していました。当時はホームページにメールアドレスを載せても、自動的にスパムが飛んでくることもなく、世界の「ちょっと好奇心のおう盛な人たち」(誰よりも早くインターネットの世界に触れたいと思っている人たち)と”純粋なワクワクする”つながりがありました。そうこうするうち「スパム」という言葉が出てきてホームページにメールアドレスを書かなくなり、大学卒業する頃にはホームページをたたんでしまいました。かなり話は脱線しましたが、私が入社してからの数年はWebシステムが主流ではなかったおかげで「クライアント」が考慮するべき「アプリサイズ」「メモリ」のことを必要とすることがありました。VBで作成するクライアントシステムはあまり「メモリ」のことを気にすることはありませんでしたが、Cでは絶えず細心の注意を必要としていました。
しかしながらObjective-C, XcodeでおこなうiPhone/iPadアプリの開発における「メモリ」について全く知識がありませんでしたのでアプリ開発時には常に学びながら実装していく必要がありました。その時学んだことをいくつか備忘録として載せています。

(本題)
①メモりリーク調査!(メモリリークって私にはとっても恐ろしい響きです。)
Xcode4でメモリーリークをチェックするには、「Instruments」というツールを利用します。メモリリーク等のステータスを確認することができます。
Instrumentを起動するには「Product > Profile」を選択します。
Instrument.png

②Analyzeを使う
Build時に静的にメモリリークが”ありそうな”箇所を洗い出してもらえます。
Xcode 4 には、GDB と LLDB の2つのデバッガーが用意されています。
build-analyze.png

③NSZombieEnabled等を利用する(EXC_BAD_ACCESSが発生して対処方法がよくわからない時に役に立ちました。)
NSZombie.png



nice!(0) 
共通テーマ:日記・雑感

nice! 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。