Android で「最上位」ではないアプリのアンロード/一時停止を防止/設定する

Android で「最上位」ではないアプリのアンロード/一時停止を防止/設定する

私はよく 2 つのアプリを切り替えます (たとえば、ジムでは JEFIT と Kindle アプリを、電車では IRC と Firefox を、ハイキングでは地図/ルート アプリとカメラを切り替えます)。多くのアプリは、長時間後ろにいると「壊れ」ます。つまり、何が起こっていたか分からなくなったり、バグが発生したりします。

ただし、これは常に当てはまるわけではなく、古いバージョンの Android では、切り替えるアプリが 4 つ以上ある場合にのみ発生しました。これは新しい最適化設定によるものだと思いますが、これを完全にオフにするか、特定のアプリに対してオフにしたいと思っています (一部のアプリはより堅牢で、この問題の影響を受けません)。

約 60 秒以内に切り替えてもアプリは正常に読み込まれたままなので、デバイスが物理的に同時に実行されているアプリを処理できることはわかっています。

それで、この原因と、この動作を構成する方法を誰か知っていますか? 設定、オプション、あるいは調整アプリ? 何でも試してみます。

現在の構成は、CyanogenMod 12 (Lollipop) を実行している Samsung Galaxy S3 です。

答え1

アップデート: http://www.androidcentral.com/fine-tuning-minfree-settings-improving-androids-multi-tasking

詳細はこちら: 「​​簡単な答え: いいえ。Android は常に OOM (Out-Of-Memory) 優先順位を使用して、未使用のメモリを解放します。一部のタスク マネージャーを使用してアプリの優先順位を変更できます (少なくとも再起動するまでは)。ただし、それでもメモリが不足すると、バックグラウンドのアプリが強制終了され始めます。

次のようなシナリオを考えてみましょう。ブート時に実行される、コードが不適切なアプリをダウンロードすると、バッファ オーバーフローが発生し、すべてのメモリが消費されます。通常、このアプリは強制終了されますが、開いたままに設定されている場合は、再起動するまで携帯電話が実質的に機能しなくなり、再起動後も再び起動し、また起動するという状態が続きます。

一部のタイマーは、この問題を回避するために優先度の高いサービスを使用しますが、タイマーがバックグラウンドにあるときに、リソースを大量に消費する高性能アプリを頻繁に起動すると、最終的にはタイマーが強制終了されます。」

https://android.stackexchange.com/questions/25470/is-there-a-way-to-force-an-app-to-remain-running-in-the-background-no-matter-wha

関連情報