2012-01-28 8 views
12

私はiOS用に開発しており、iPhoneとIPadで自分のアプリをチェックしています。iOS - 私はメモリの警告を受け取りますが、理由はわかりません

多くのメモリ警告が表示されますが(didReceiveMemoryWarningが呼び出されます)、理由はわかりません。 私のアプリはピークポイントで~35MB、最低ポイントでは4-5MBを使用しています。

「機器」を使用してリークを見つけようとしましたが、重大な問題は見つかりませんでした。

システムがメモリ警告を送信する理由を確認する良い方法はありますか?

+0

リークスツールは、利用可能なツールの中でも最も優れています。シミュレータとデバイスの両方にリークを実行しましたか? – smparkes

答えて

24

iOSアプリではメモリ警告が必要です。それはあなたのアプリのためである必要はありません。アプリが中断していても、他のアプリはまだメモリに残っています。 OSは必要に応じてメモリ警告を送信し、アプリを強制終了してメモリ管理を行います。妥当な量のメモリを使用していて(メモリリークがほとんどない状態で)、didReceiveMemoryWarningを適切に処理する限り、正常に動作します。

また、アプリがサスペンドモードになっているときに、アプリのメモリ使用量がほとんどない場合は、アプリが殺害される可能性が高くなります。より大きなメモリフットプリントを持つアプリとして、最初に終了します。

+0

他の何十種類ものアクティブなアプリケーションがあるiPhone 5で私のアプリケーションをデバッグすると、「受信メモリの警告」が表示されます。 1つずつ停止してもう一度試してみると、その警告メッセージは消えました。 – Donald

10

「製品 - >分析」(Shift + Command + B)を使用すると、リークを使用する前にいくつかのコードの問題を整理できます。 ARCの導入により、これはあまり役に立たなくなった。

関連する問題