シミュレーターで問題なく動作する iPhone アプリがあります。絶対に必要ではないものをすべて取り除くことで、メモリの警告にうまく対応します。デバイスで実行すると、うまく動作します。しかし、一定量使用すると、エラー コード 101 でクラッシュします。これは、メモリ使用量が原因で OS が強制終了したことを示しています。メモリの警告が表示され (ログに記録しています)、アプリはそれに応答しますが、その後すぐに停止します。
Instruments で (デバイスまたは sim のいずれかで) アプリを見ると、リークは見つかりません。さらに、正味のメモリ使用量は 600 ~ 700k バイトの範囲です。アプリのさまざまなビューから移行すると、(予想どおり) メモリ使用量が増加しますが、ビューとコントローラが解放されて解放されると、メモリ使用量が以前ほど低くなることはありません。ただし、追加は通常、1000 ~ 2000 バイトの範囲内のものにすぎません。したがって、Leaks はリークを示していませんが、どこかに問題があると思われます。また、割り当てているすべてのオブジェクトを確認しましたが、すべてが期待どおりに再利用されているようです。増加し続けている唯一のオブジェクトは GeneralBlock-N (N は数値) です。
Instruments のネット使用量の数値に注意を払う必要はありませんか? 問題を診断するための次のステップは何ですか?
追加: 私は malloc() や、私が担当するバッファを返す CoreFoundation ライブラリへの呼び出しを行っていません。私が行っている Obj-C 以外の呼び出しは、ステートメントを NSLog に記録することだけです。