回答:
ある状況では、強制終了はiOSにメリットがあり、プロセスのクリーンアップ、再起動、およびキャッシュされたファイルや開いているファイルのパージに必要な追加の処理コストを上回ります。
これを行うことの欠点は、アプリがバックグラウンドで実行されないことです。つまり、新しいアプリまたは踏み台/アイコンのリスト/ロック画面に切り替えると、iOSはすでにアプリのすべてのファイルシステムアクティビティを停止/一時停止/フラッシュしています。
保存された状態やキャッシュされた結果を無視して、フリーズしたアプリに最初から完全に再初期化する必要があることを通知します。これは、クラッシュレポートの形式で(およびオプションで開発者に)Appleに信号を送り、ユーザーによって「強制終了」されたときにアプリがコードのどこにあったかを正確に示します。
手術のように考えてください-短期間に明らかな害を及ぼしています-手術が必要であることが確かでない限り、パフォーマンスヒットを受けて強制終了しないでください。
最近この話題はまたもやホットなアイテムです。私は、iOSデバイスでアプリを強制終了することは役に立たないと信じています。アプリがクラッシュしたときにアプリを再起動することだけが役に立ちます。詳細はこちら。
9to5Mac:
iOSのマルチタスク機能を使用してアプリを強制的に終了すると、iPhoneのバッテリー寿命を節約したり、スマートフォンが遅くなったときにソフトウェアの速度を改善したりできるというのは、長年の信念です。
今週初めに、iPhoneユーザーはApple CEOのTim Cookにメールを送って問題を一気に解決することに決め、代わりにAppleのソフトウェアエンジニアリング担当上級副社長(9to5Mac経由)のCraig Federighiから返信を得た。
ここで、アプリケーションの強制終了に関する公式サポートドキュメントから、この機能をいつ使用するかについてのApple自身のアドバイスを紹介します。
ホームボタンをダブルクリックすると、最近使用したアプリが表示されます。アプリは開いていませんが、ナビゲートやマルチタスクを支援するためにスタンバイモードになっています。アプリが応答しない場合にのみアプリを強制終了する必要があります。
MacDailyNewsはSteve Jobsからの2010年のメールを引用している:
[iOSマルチタスク]を設計どおりに使用するだけで、あなたは幸せになります。アプリを終了する必要はありません。
Appleのソフトウェア担当上級副社長、Apple自身の公式サポートドキュメント、またはSteve Jobsを信じられない場合に備えて、この習慣が実際にiPhoneのバッテリー寿命にどのように有害であるかを指摘する他の記事をいくつか示します。
理論的にはそうです。バックグラウンドで実行されているアプリはメモリを消費し(スレッドがまだ存在しているため、[ホーム]ボタンをダブルクリックするとアプリが一覧表示されます)、バッテリを消費します。
しかし、実際にはそうではありません。iOSはメモリ管理にかなり優れており、バックグラウンドで実行されているアプリは少量のメモリしか消費しません。また、フォアグラウンドで実行されている他のアプリ(アクティブに実行されていて、ユーザーがアプリと対話している)がより多くのメモリを必要とする場合、iOSシステムはバックグラウンドアプリを終了してメモリを消去する場合があります。アプリを強制的に閉じるとメモリ/バッテリー寿命が節約されるように見える理由は、一部のアプリは、バックグラウンドでの実行、データの定期的な同期などの目的で、バックグラウンドで実行されている場合でも長時間実行されるタスクの実行を要求する場合があるためです。など(すべてのアプリがそうするわけではないことに注意してください)。ただし、[設定]-> [一般]で[バックグラウンドアプリの更新]を構成することで、これらを無効にすることができます。
つまり、要約すると、バックグラウンドで多くのことを行っていないアプリの場合、強制終了しても顕著なメリットは得られません。
Suspended
バックグラウンドに移行した直後に呼び出される状態になり、「一時停止中、アプリはメモリ内に残りますが、コードは実行されません」。アプリケーションのプロセスは、iOSによって終了されない限り、まだそこにあります。XCode(iOSアプリの開発者ツール)がある場合、フォアグラウンドで何も実行されていなくても、実際にDebug-> Attach to Processを使用して電話のプロセスのリストを表示できます
applicationDidEnterBackground:
メソッドが戻った直後に、システムはアプリのウィンドウのスナップショットを取得します。同様に、アプリが起動してバックグラウンドタスクを実行すると、関連する変更を反映するためにシステムが新しいスナップショットを取得する場合があります。たとえば、ダウンロードされたアイテムを処理するためにアプリが起動されると、システムは新しいスナップショットを取得し、アイテムの組み込みによって引き起こされた変更を反映できるようにします。システムは、マルチタスクUIでこれらのスナップショットイメージを使用して、アプリ。」これは私が言及していたものです。
特にFacebookアプリを終了すると、バッテリーを節約できることがわかりました。バッテリーセクション([設定]> [バッテリー]> [時間])でその使用状況を確認した後、私はそれがうまくいっていないと確信せずにはいられません。