回答:
BACKボタンを使用してアプリを終了するとonDestroy()
、現在のアクティビティが呼び出されます。押すHOMEだけで呼び出しonPause()
ますが、あまり心配しないでください、アクティビティはバッテリーを消耗せず、メモリに残っているので開くことができます将来的に速くなります。
タスクキラーアプリを使用することはお勧めしません。理由は、Androidがそのようなデータをメモリ内に保持するように設計されていることです。 twitterやメールクライアントのようにサーバーをバックグラウンドで実行するアプリ、そのようなサービスを持つ優れたアプリには、それを無効にするオプションがあります。
これまで読んだことのすべてが、Backボタンがアプリを終了する正しい方法であると言っていることを確信しています。
を押すとHome、Androidが不要になったと判断するまでバックグラウンドで実行されたままになります。何かを確認するためにアプリを切り替える必要がある場合に便利です(ホームを数秒間押し続けると、最近実行中のアプリのリストが表示されますほとんどの携帯電話に戻すことができます)が、戻るボタンを使用して出てくると、アプリに閉じることを知らせます。
一部のアプリには、メニューに「終了」オプションがあります。ほとんどありません。
本当に心配する必要はありません。次に必要なアプリに移動できます。Androidは、必要なときにリソースを解放する非常に良い仕事をします。
Androidでは、アクティビティ(つまり、表示できるアプリの一部)はバックグラウンドで実行されません。画面に表示されている間のみ実行できます(バッテリーを使用します)。アクティビティは、ホームを使用するか戻るかを問わず、実行を停止します。唯一の違いは、Androidがアプリに保存を要求するデータであるため、どちらのオプションも「正しい方法」ではありません。それはただあなたが何をしたいかに依存します。
homeを使用すると、Androidはアプリを同じ状態のままにします。そのため、後で(たとえば、最近のアプリのリストを使用して)戻った場合でも、同じ画面で、同じものが表示されています。たとえば、電子メールアプリで、1つの電子メールを見ている場合、どの電子メールであったかが記憶され、同じ電子メールが表示されます。
最終的に(約30分後)、Androidはアプリに戻っていないと判断し、この状態をリセットします。次回アプリを起動すると、フロント/メイン画面から起動します。例を続けるために、メールアプリは、どのメールとフォルダーを見ていたかを忘れ、受信トレイを表示します。
backを使用すると、このビューに戻りたくないことをAndroidに伝えています。それは、あなたが今見ているものに関する情報を破壊します。次回アプリを起動すると、フロント画面(受信トレイなど)が表示されます。
他の人が言ったように、アプリは戻るボタンの動作を制御できます。たとえば、Webブラウザーはそれを使用してブラウザー履歴に戻ります。私が説明したのは、戻るボタンのデフォルトの動作であり、開発者は混乱を避けるためにそのような動作を維持することが求められます。
どちらの方法を使用しても、Androidは可能な限りアプリをメモリに残します(ただし、実行しません)。これはより効率的です。アプリに戻ったときに、まだメモリ内にある場合、Androidはすぐに再び実行できます。まだメモリ内にない場合、Androidは再びストレージからアプリをロードするために時間とエネルギーを費やす必要があります。
古いAndroidバージョンでは、この方法でバックグラウンドでメモリに残っていたアプリは、「実行中のアプリ」のリストに含まれていました。これはユーザーを少し混乱させます。アプリが実際に実行されていると思わせるので、新しいバージョンではこれらのアプリを「キャッシュされたバックグラウンドプロセス」と呼び、キャッシュされているだけで実行されていないことを明確にします。
先ほど、アクティビティはバックグラウンドで実行されないと述べました。それでは、メールクライアントはどのようにメールをチェックしますか?アクティビティだけでなく、アプリにはサービスを含めることができます。サービスには、表示または対話するためのGUIはありませんが、バックグラウンドで実行されます。通常、サービスは1時間に1回メールをチェックするなど、まれにしか実行されませんが、アプリ開発者は常にサービスを実行してバッテリーを消耗させる可能性があります。
帰宅または帰宅でアクティビティを終了しても、Androidが同じアプリからのサービスを処理する方法は変わりません。サービスは実行を継続することも、特定の時間(メールチェックの期限)に後でトリガーすることもできます。
要約すると、バックを使用するかホームを使用するかは実際には関係ありません。次に実行するときにアプリが表示するものを変更するだけです。バッテリーの使用には影響しません。どちらも、PC上のプログラムの「終了」には対応していません。
Androidでは、アプリケーションを閉じる必要はなく、リソースが他の場所で必要になったときに、OSが残りのアプリケーションのメモリのクリーニングを処理します。タスクキラーを使用すると、OSの通常の動作が中断されるだけでなく、アプリケーションを常に最初からリロードする必要があるため、デバイスの速度が低下する可能性もあります。
Androidアプリケーションのライフサイクルは、一番上にないアプリケーションが、CPUを使用しない一時停止状態で移動するように機能しています。アプリケーションが再び開かれた場合に備えて、メモリの内容のみが保持されます。必要に応じてメモリが解放されます。
そうは言っても、アプリケーション開発者はアプリケーションを作成するときにアプリケーションのライフサイクルに従う責任があります。そのため、アプリケーションが実際に停止または一時停止することのないバグやミスが発生する可能性があります。そのようなアプリケーションとそれを閉じるものに遭遇した場合、アプリケーションで「強制停止」を選択して、「設定」->「アプリケーション」->「アプリケーションの管理」から実行できます。
ただし、デバイスで常に実行されているタスクキラーを使用することはお勧めしません。
戻るボタンの機能をオーバーライドするのに必要なコードはほんの数行であるというschwizの答えを追加したいだけです。そのため、アプリを閉じることが常に信頼できるとは限りません。そのため、アプリ開発者が戻るボタンを押してもアプリを閉じたくない場合、アプリは閉じられません。
ほとんどの優れたアプリ開発者は、アプリのホームメニューの戻るボタンを押すと警告ダイアログをポップアップし、ユーザーがアプリを終了するかどうかを尋ねますが、終了をクリックするとアプリを閉じます。
正しい答えはこれかもしれません。アプリの終了は完全にアプリ開発者の責任です。ホームボタンを押してアプリを閉じたい場合は、終了コードをに入れますonPause()
。戻るボタンに必要な場合は、に入れますonBackKeyPressed
。したがって、実際にはユーザーの手にはありません。
ユーザーは、不要な場合に適切な終了機能を提供しないアプリの使用を避けることができます。タスクマネージャーは、アプリをクラッシュさせる可能性があり、状態を保存する機会を与えないため、アプリを閉じるのに適した方法ではありません。
OSは必要に応じてアプリを閉じるので、心配する必要はありません。
編集:
アプリを終了するとすぐに、つまりホームキーをクリックすると、アプリケーションを破棄するオプションがあります。Settings
-> Developer Options
->に移動できDon't keep Activities
ます。これは開発者向けのオプションですが、バックグラウンドで実行されているアプリが気になる場合は、このオプションを使用できます。ただし、非開発者が使用することはお勧めできません。