0

こんにちは、これを知りたいだけです: iphone 3gs と iphone 4 はいつメモリ警告を送信しますか?

私たちのアプリがどれくらいのメモリを使用した後、両方のデバイスが警告を送信するのですか?

ありがとう

4

2 に答える 2

0

いつ発火するかわかりません。バックグラウンドで実行されている他のアプリや、Web ページを保持している Safari などによってどれだけのメモリが使用されているかはわかりません。Pandora がバックグラウンドでストリーミングしていて、大量のメモリを使用している可能性があります。単一のメモリ量を当てにしないでください。遅延ロードし、didRecieveMemoryWarning で不要な割り当てを解放します。アプリが大量のメモリを必要とする場合、一部のゲーム開発者は、アプリに最大限のメモリと最高のパフォーマンスを確保するために、プレイする前にデバイスを再起動するようユーザーに指示します。

于 2011-02-27T23:04:09.903 に答える
0

厳密には定義されていませんが、アプリケーションがメモリ不足の警告を受け取るのは通常、グラフィック メモリの過剰使用が原因であるため、Apple は 24MB を超えるグラフィック メモリを使用しないことを推奨しています。iPhone で重大なメモリ不足の状況を管理する唯一の良い方法は、didReceiveLowMemoryWarningデリゲート メソッドを実装し、その時点でできるだけ多くのメモリを解放することです。これは、たとえば次のことを意味します。

  1. 現在メモリにロードされているすべての非表示画像
  2. 使用されていない場合は、すべてのView Controllerとそのサブビュー

アプリケーションが後でその情報をリロードできる場合、これはもちろん安全に実行できます。didReceiveLowMemoryWarningただし、これはアプリケーションの最後の手段です。

その点に到達するのを避けるために、リソースを遅延してロードすること、つまり、必要なときにのみリソースをロードし、不要になったときに解放することをお勧めします (たとえばviewDidUnload、すべてのコントローラーに実装するなど)。

于 2011-02-27T22:50:47.603 に答える