2011-09-14 3 views
0

私はiPadのためのアプリを開発しています。私は自分のアプリケーションが小さな使用期間であってもメモリを受け取っていることに気付きました。
Instrumentsをチェックして、アプリケーションが6MBのメモリ割り当てでクラッシュしているのを見ました。
複数のアプリをバックグラウンドで開いたままにしました。
バックグラウンドのアプリケーションがすべて終了すると、アプリは正常に動作していたようです。
これは、バックグラウンドの複数のアプリケーションがメモリの問題を引き起こすということですか?アプリを起動し、その存在ので、事前:)のiOSがバックグラウンドにあるアプリケーションを殺す低メモリ状況でiPadに複数のアプリをバックグラウンドで保存すると、メモリに問題が発生しますか?

答えて

2

号、中

おかげで、それ自体は、問題ではありません。

メモリ不足の警告が表示された場合、無視するか、OSを「納得させる」ために十分なメモリを解放しないでください。あなたのコメントでの質問をカバーするために

編集:私は、複数のアプリを起動すると

なぜアプリケーションが遅く行くように見えるのですか?

iOSにはスワップスペースがないことに注意してください。複数のアプリが読み込まれている場合は、メモリを使用します。はキャッシュに使用できません。アプリケーションがバックグラウンドに入ると、と考えられ、可能な限り多くのメモリを解放することがとなります。いくつかは他よりも優れています。

バックグラウンドのアプリがフォアグラウンドアプリのためのスペースを作るために殺されることは注目に値する。

長時間の使用で早急にクラッシュしますか?

クラッシュするバグのあるアプリ。それはそれと同じくらい簡単です。

そして、6Mbほどの低い割り当てについての奇妙なメモリの警告についてはどうですか?

はそれについて考える:iOSのはあなたにすべてのメモリが枯渇している後に警告のメモリを送信することはできません。それまでにはそれは遅すぎる。

代わりにヒューリスティックを使用する必要があります。通常、ヒューリスティックは機能します。フォアグラウンドアプリケーションは、キャッシュされたデータの一部を解放します。おそらく、1つ以上のバックグラウンドプロセスが強制終了されます。これにより、フォアグラウンドプロセスがクラッシュすることなく続行されます。

警告を無視すると、状況が間違ってしまう可能性があります。

またはヒューリスティックが間違っている可能性があります。

しかしどちらにしてもそれは疑問です。これがiOSの仕組みです。手動で他のプロセスを強制終了することはできません。あなたは、あなたのアプリを実行する前に、ユーザーが携帯電話を再起動するように提案することはできません(Appleはおそらくそれを拒否するでしょう)。あなたが6Mbまたは60Mbを割り当てた後に来るかどうかにかかわらず、メモリ不足警告に適切に対応するだけです。

+0

お返事ありがとうございますが、私は疑いがあります。なぜ私は複数のアプリを起動すると、アプリケーションは遅くなるように見えるのですか?長期間使用するとすぐにクラッシュしますか?そして、6Mbのような割振りのための奇妙なメモリ警告を説明するものは何ですか? – Bangdel

関連する問題