ホームページ » の仕方 » 最近のアプリリストからAndroidアプリをスワイプすると、どうなりますか?

    最近のアプリリストからAndroidアプリをスワイプすると、どうなりますか?

    Androidの現在実行中のアプリのリストからアプリをスワイプすると、そのアプリケーションとデータは正確にどうなりますか?調べて読む.

    本日の質疑応答セッションは、コミュニティ主導のQ&A WebサイトのグループであるStack ExchangeのサブディビジョンであるAndroid Enthusiastのご好意により提供されました。.

    質問

    Android愛好家の読者Eldarerathisは、実行中のアプリのリストをホームボタンでプルアップしてから右にスワイプして閉じることができるアプリスワイプ機能に興味を持っています。

    Ice Cream Sandwichの最近のアプリリストには、リストからアプリをスワイプする機能が追加されました。これにより、アプリを永久に削除できます(そして、私の知る限りでは、これはCM /カスタムROMのものではありません)。ドキュメンテーションとプラットフォームのハイライトは、この機能の内部の仕組みを網羅しているようには見えませんが、システムが実際に何をしているのか知りたいのですが。.

    さらに私の好奇心に加えて、私は簡単なテストをすることに決めました:私はCM9インストールで音楽を始めて、そしてそれからバックアウトしました。それから私は最近のアプリのリストをチェックし、それが確かにそこにあるのを見ました(そしてサムネイルに基づいて、適切な状態にあります)。私はそれから入りました 設定 - >アプリケーション そして強制的にMusicアプリを止めたが、それはまだ最近のリストに載っていたので、それはバックグラウンドで残っているプロセスに関連していないと私に信じさせた。.

    Musicが不適切な選択であった可能性があることに気付いたので、私はUSA Todayアプリでもテストしました。これは基本的に同じ振る舞いを示し、最近のアプリリストのサムネイルはこれを反映していませんでしたが(強制的に)、強制停止後に「再起動」することを余儀なくされたようです.

    それで、最近のリストからアプリをスワイプすると、OSレベルで実際に何が起こりますか?単にアプリのデータをRAMからクリアしてガベージコレクションし、保存した状態を破壊するだけなのでしょうか。?

    あなたがリストからアプリをスワイプしたときに正確に何が起こっているのか?

    回答

    Android愛好家の貢献者Austin Millsがいくつかの洞察を提供しています。

    最近のアプリリストからアプリをスワイプするのは一般的であり、そう、確かに文書化されていません。これは、さまざまなAndroidフォーラムでかなり議論されているトピックです。ここでの意見の一致は、いくつかのコメントで最もよく説明されているようです。明示的な戻るボタンの処理を定義しないでください)それはあなたがそれから抜け出すことをアプリケーション内から十分な回数叩くことと同じことです.

    リンクには詳細についてのいくつかの詳細があります、しかし全体的にあなたはそれをアプリケーションをやめることとして考えることができます.

    Musicアプリに特有のことだが、それはサービスを開始すると信じているので、タスク自体(Musicアプリ/ UI)は閉じられるかもしれないが、タスクが理由だけで突然あなたの音楽が止まることはない。メモリ管理の理由で片付けられました。それはあなたが見たことに影響を与えたのかもしれません.

    それから、人生の質疑応答の輪に参加して、Eldarerathisは答えを完成させるために彼自身のいくつかの研究で戻ってきました:

    Googleの従業員からの説明につながった魔法のような検索用語が見つかったようです。具体的には、Dianne Hackbornが最近のリストから何かをスワイプしたときに何が起こるかを説明している場所をいくつか見つけました。 1つ目は、彼女のGoogle+投稿の1つに対するコメントです。

    [1]アプリケーションのバックグラウンドプロセスまたは空のプロセスを強制終了する(これが何を意味するのかを参照)、および(2)新しいAPIを使用して任意のサービスに通知するそれが適切であると思うものは何でもすることができるように削除されているタスクに関するアプリケーション.

    彼女はブログのコメントでも次のように述べています。

    実際、最近のタスクでエントリを削除すると、そのプロセスに存在するバックグラウンドプロセスがすべて削除されます。サービスが直接停止することはありませんが、タスクが削除されたことを確認して、停止する必要があるかどうかを判断するためのAPIがあります。これは、削除しても電子メールアプリの最近のタスクによって電子メールのチェックが中止されないようにするためです。.

    本当にアプリを完全に停止したい場合は、最近のタスクを長押ししてアプリ情報に移動し、そこで強制停止します。強制停止はアプリの完全な強制終了です。すべてのプロセスが強制終了され、すべてのサービスが停止され、すべての通知が削除され、すべてのアラームが削除されます。.

    つまり、一覧からアプリをスワイプすると、まずそのアプリのすべてのバックグラウンドプロセスが強制終了され、次にを使用するということです。 onTaskRemoved バックグラウンドタスクが削除されたことをアプリに通知します。その時点では何が起こるかを決めるのはアプリ次第なので、私は技術的にあると思います ではない その時点を超えてアプリに何が起こるかについての固くて速い規則.


    説明に追加するものがありますか?コメントの中で消してください。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.