4

同時に実行するアプリが多すぎない開発デバイスでアプリをビルドしています。私は、顧客が他のアプリをいくつでも開いた状態でアプリを実行することを期待しています。メモリの問題が原因でアプリがクラッシュしないようにするために、予想される動作条件下でアプリをテストしたいと考えています。

これは疑問を投げかけます -ダブルタップ ホーム ボタン バーに表示される他のアプリの数は、デバイスのメモリ使用量に影響しますか? つまり、デバイスですべてのアプリを開いてアプリを起動すると、他のすべてのアプリを閉じた場合よりもメモリ警告が表示される可能性が高くなりますか?

WWDC のプレゼンテーションで、8 MB 未満のメモリを使用する一部のアプリでは、アプリが最小化されている間にメモリがディスクに書き込まれると述べていたのを聞いたのを覚えています。

明確にしていただきありがとうございます。

4

3 に答える 3

4

ダブルタップ ホーム ボタン バーに表示される他のアプリの数は、デバイスのメモリ使用量に影響しますか?

いいえ。マルチタスク バーは、最近のアプリの履歴にすぎません。それらのいくつかはまだ記憶に残っているかもしれませんが、そうでないものもあります。見ただけでわかるわけがありません。

メモリが不足すると、iOS は最もメモリを消費するバックグラウンド アプリを最初に終了します。アプリが短期間に大量のメモリを割り当てると、iOS が十分な速度でメモリを再利用できず、アプリがすぐに終了する可能性があります。

できることは、フットプリントを可能な限り減らし、一度に巨大なバッファーを割り当てないようにすることだけです。

于 2013-03-22T15:04:39.190 に答える
0

はい、開いているアプリの数は、アプリがメモリ警告を受け取る方法に影響すると思います。バックグラウンドで実行されているすべてのアプリを閉じるか、デバイスを再起動すると、アプリに送信されるメモリ警告メッセージが減少する可能性があります (インストルメントを使用すると、この効果を確認できます)。

アドバイス:
メモリ警告が表示されたら、次のことを試してください:
- タイマーやその他の定期的なタスクを停止します。
- 実行中のメタデータ クエリを停止します。
- 新しいタスクを開始しないでください。
- 動画の再生を一時停止します (AirPlay で再生する場合を除く)。
- アプリがゲームの場合、一時停止状態に入ります。
- OpenGL ES フレーム レートを抑制します。
- 重要でないコードを実行しているディスパッチ キューまたはオペレーション キューを一時停止します。(非アクティブな間、ネットワーク要求やその他の時間的制約のあるバックグラウンド タスクの処理を続行できます。)

于 2013-03-22T14:58:33.077 に答える
0

簡単なメモです。他のアプリを開いていると、実際のメモリ割り当てに影響することがわかりました。「アクティビティ モニター」を使用してアプリのプロファイリングを行うと、現在メモリに読み込まれているアプリとその使用量を確認できます。デバイスに 512 MB があると仮定すると、512 - (何が開いているか) を使用する必要があり、iOS はアプリのメモリを解放するために一部のアプリを強制終了する可能性があります。

于 2013-04-04T22:15:30.333 に答える