RAM と CPU の両方を集中的に使用するアプリを使用していて、1 分間通話しなければならない呼び出しを受けたとします。この場合、アプリケーションの運命がどうなるか知りたいです。バックグラウンドで実行を継続し、優先度を変更しますか?
また、アプリが大量の RAM と CPU を使用する場合、Android OS によってアプリがシャットダウンされる可能性はありますか?
この件について説明しているリソースやドキュメントを共有してください。前もって感謝します。:)
RAM と CPU の両方を集中的に使用するアプリを使用していて、1 分間通話しなければならない呼び出しを受けたとします。この場合、アプリケーションの運命がどうなるか知りたいです。バックグラウンドで実行を継続し、優先度を変更しますか?
また、アプリが大量の RAM と CPU を使用する場合、Android OS によってアプリがシャットダウンされる可能性はありますか?
この件について説明しているリソースやドキュメントを共有してください。前もって感謝します。:)
バックグラウンドで引き続き実行されますか
少なくとも数ミリ秒は、はい。アプリケーションがバックグラウンドに移行する方法に関係なく、バックグラウンドに移行すると、そのプロセスを終了して、他のアプリのために RAM を解放できます。それがいつ発生するかは、多くの変数に依存します。ミリ秒の場合もあれば、時間の場合もあります。
その優先度は変更されますか?
バックグラウンド アプリケーションのプロセスは、CPU 使用率を制限するのに役立つクラスで実行されます。
また、アプリが大量の RAM と CPU を使用する場合、Android OS によってアプリがシャットダウンされる可能性はありますか?
RAM と CPU の量に関係なく、アプリのプロセスは、Android がバックグラウンドにあるときはいつでも終了する可能性があります。
Activity
アプリ自体と隠されているを区別することが重要です。AnActivity
はアプリケーションの一部にすぎません。が非表示の場合、部分的に非表示 ( ) であるか完全に非表示( ) であるかに応じて、Activity
特定のライフサイクル メソッドが呼び出されます。これは、が不明瞭になる前に開始したバックグラウンド プロセスに必ずしも影響するわけではありません。が非表示になっていても、アプリは存在します。特定のフォアグラウンドで開始したバックグラウンド スレッドとサービスは、既存のアプリ プロセスの一部として引き続き実行されます (OS のリソースが不足していないと仮定します)。onPause
onStop
Activity
Activity
Activity
あなたがしなければならないことは、これらのバックグラウンド プロセスの結果を他のライフサイクル メソッド (たとえばonResume
) 内で処理する方法について考えることです。