提供された答えは正確です。iOS開発者の観点から明確にしたいだけです。
iOSは、できる限り多くのものを管理するように設計されているため、ユーザー(および開発者)はそれらを心配する必要がありません。最終結果は、Appleのアプリケーションを含むアプリケーション全体で、ある程度一貫したアプローチです(場合によっては、Apple自体がいくつかのコーナーをカットすることもあります)。
とはいえ、前提は次のとおりです。
- iOSは私たちよりもメモリについて多くを知っています。どれだけ持っているか、どれだけ必要かを(ある程度)知っています。
- iOSはメモリを完全に制御できます。誰が何を使うかについての最後の言葉があります。
- iOSはメモリを必要とする場合、それを見つけます。これは通常、しばらくアイドル状態になっている他のプロセスを強制終了することによって行われます(そして、背後に多くのルールがあり、それらのすべてを知りません。それらについて心配する)。
- プロセッサ(CPU)が実行するすべての処理にはエネルギーが必要です。絶対にすべて。コンピューターは、非常に小さなスペースで動き回るだけの非常に小さな電子コンテナーであることを忘れないでください。
- アプリが強制終了されると、何をする必要があるかを定義する合意されたプロトコル(契約)がいくつかあります。iOSはこれらのプロトコルを実施し、運びます。しかし、仕事をしなければなりません、それは無料ではなく、確かに常に安いわけではありません(それは本当にアプリが何であるかに依存します)。
すべてを言ったが、ほとんどのユーザーは、バッテリー寿命を延ばすためにアプリを閉じることを想定しています。
真実は、iOSでは、これはほとんどないということです。家を押すと、アプリは中断され、他のアプリが必要とするリソースを使用しなくなります。新しいアプリ(またはiOSでさえ)がそのメモリを必要とする場合、それが必要な場合にのみ、それ自体で処理します。
アプリを何度も閉じると、アプリを本当にアンロードし、その状態などを保存するという潜在的に高価なタスクをiOSに強制し、アプリを再度開くとすべてのものを元に戻す必要があるという追加の問題また、アプリの複雑さに応じて、ストレージから携帯電話のメインメモリなどに至るまで、多くのものを読み込む必要があります。アプリを「一時停止」状態のままにしておけば、この余分な作業はすべて回避できます。
しかし …
場合によって(まれではありますが、ありそうにないことではありません)、不正な動作をしているアプリを殺したい場合があります。例は次のとおりです(ただし、これらに限定されません):バックグラウンドオーディオを処理するアプリ、または場所などの非同期サービス(アプリが場所を要求し、iOSは必要に応じてGPSを起動するなどして現在地を尋ねる必要があります) 、ビデオストリーミングなど
Lyft、United Airlines、Twitterなどのアプリの数え切れないほどのインスタンスがあり、それらはいずれもあなたが悪いネットワークにいるために壊れた状態になります(または単に正しく動作しません)(iOSは本当に悪い状態になりました)過去3〜4リリースでの一部の不良ネットワークからの回復)またはネットワークが単に適切に応答しません。
やがて、これらの問題のほとんどは解消される傾向があり、アプリは再び動作を開始します。あなたは本当に仕事にアプリが必要な場合が、今、あなたは先に行くと、それを殺すし、最初からそれを再起動することの代金を支払わなければなりません。あなたはそれをすることでより多くのバッテリーを使いましたが、ちょっと、あなたはそれを必要としました。
これが混乱を招く場合、私はあなたに車のアナロジーを与えることができます。
車のアナロジー
自動車技術が進歩したことは知っていますが、これはもはや良い例ではありませんが、ここで私と一緒に遊んでください。
ただのアイドリングよりも多くの燃料を使用するために使用されていた自動車のエンジンの発射。車にインジェクターの代わりにキャブレターが付いていた場合、これはさらに悪化しました。そのため、赤信号で停止したときにエンジンを停止すると、理論的には1分間のアイドリングよりも多くの燃料を使用できます。新しい車ははるかに効率的なメカニズムを備えており、エンジンを停止できますが、半始動状態のままになります(ここではあまり車に乗り込まないでください)。
アプリを閉じると、人が信号を止めるたびに車の電源を切ることに相当します。通常、数秒後に再び必要になるまでアイドル状態にするのとは対照的です。
アナロジーは完全ではありません。実際には、アイドル状態の車は燃料を使用しますが、中断されたアプリは使用しません。しかし、携帯電話の目には、彼らはされていない(彼らは明らかに、任意の並べ替えアクティブのバックグラウンド処理を持っていない限り)何もメモリ/関連バッテリーを使用しました。
基本的に、アプリを終了するたびにエンジンをオフにし、エンジンをアイドリングさせるiOSの「スマート」メカニズムにそれを任せないので、ライトが緑色に変わったら、単にアクセルを押して、エンジンは、100%停止した場合よりも高速に動作しています。また、エンジンを停止状態から始動するには、燃料だけでなくより多くの電力を使用します。エンジンをクランキングし、燃料を噴射し、火花を発生させるには、スターターを回す必要があります。アプリはエンジンのようなものです。:)