web-dev-qa-db-ja.com

iOS-メモリの警告が表示されますが、理由がわかりません

IOS用に開発していて、iPhoneとiPadでアプリをチェックしています。

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

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

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

12
Erik Sapir

IOSアプリではメモリ警告が予想されます。それはあなたのアプリのためである必要はありません。他のアプリは、アプリが一時停止されていてもメモリに残っています。 OSは、メモリ警告を送信してメモリ管理を行い、必要に応じてアプリを強制終了します。適度な量のメモリを使用していて(メモリリークがほとんどまたはまったくない)、didReceiveMemoryWarningを適切に処理している限り、問題はありません。

また、アプリが一時停止モードの場合、アプリがメモリフットプリントをほとんど使用していないと、アプリは強制終了プロセスを生き残る可能性が高くなります。メモリフットプリントが大きいアプリが最初に終了するため。

24
X Slash

また、「製品->分析」(Shift + Command + B)を使用すると、リークの使用を開始する前にコードの問題を解決できることがわかりました。ただし、ARCの導入により、これはあまり役に立ちませんでした。

10
DJ van Wyk