Androidのプロセス管理を知る

今回から2回に渡ってAndroidのプロセスについて考えてみたいと思います。

Androidはマルチタスクが可能なので、複数のアプリケーションやサービスがバックグラウンドで動いています。このため、次々とアプリケーションを切り替えて作業をしていても直前の状態を保持しているので、ユーザーは待ち時間を減らすことができ、同時にいろいろなことができるようになります。

Androidはできるだけ長い間プロセスを保持しようとしますが、メモリには当然限りがあるので、最終的にはメモリが不足してしまいます。
そこで、Androidはメモリが足りなくなってきたら、システムの判断で使ってないアプリケーションを終了させていきます。

このような特性から、プロセスの管理については基本的にシステムに任せておいて問題はないでしょう。

それでは、システムがプロセスを終了させるには、どのような優先順位があるのでしょうか?

プロセスのライフサイクル

Androidは各プロセスをいくつかの「重要度のレベル」に分類して、メモリ残量が少なくなったときに削除する順番を決定しているようです。

ユーザーがプロセスの「重要度のレベル」を知るためには、タスク管理ができるアプリケーションを使用することで知ることができます。
今回は、ASTRO File Managerというファイル管理用のアプリケーションを使って、内容を見ていきます。

ASTRO File Managerを立ち上げると、まずはファイル一覧が表示されます。(もともとファイル管理のソフトなので、こちらの機能がメインです)
「MENU」→「Tools」→「Process Manager」を選択します。

Process Managerすると左記の画面が表示され、現在立ち上がっているアプリケーションやプロセスが一覧で表示されます。
(画面は自分の環境で、端末の電源を入れた直後)

項目の一番右側に表示されているテキストが、システムに判断されているプロセスの状態です。

プロセスの優先順位は以下のようになります。

  1. 1.Foreground(フォアグラウンド プロセス)

    ユーザーがその時点で行っている作業に必要なプロセスで、システムはこのプロセスを削除するのは最後になります。

    通常、これらのプロセスは少数なので、終了させられることはほとんどありません。
    プロセスが応答しなくなった(画面がしばらくフリーズした)場合、フォアグラウンド プロセスの一部を強制終了させなければならない状況に陥っています。

  2. 2.Visible(可視プロセス)

    フォアグラウンドではないものの、ユーザーが見ている画面に影響を及ぼすことのできるプロセスです。ユーザーが見ている画面の直前にある、機能が動作している画面にあたります。
    すべてのフォアグラウンド プロセスが動かせなくならない限り、削除されることはありません。

  3. 3.Service(サービス プロセス)

    サービスが保持しているプロセスです。音楽の再生やファイルのダウンロード、ホーム画面に貼っているウィジェットなどがこれに該当します。

    これらはユーザーが気にかけている処理のはずですが、ForegroundとVisiableが動作するためのメモリがなくなってしまった場合には削除させられてしまいます。

  4. 4.Background(バックグラウンド プロセス)

    現在ユーザーに画面を表示していない停止したプロセスで、いつでも削除させられる可能性があります。ただしシステムにメモリが十分にある場合は、このプロセスも削除しません。

    消される場合にはユーザーが最近使ったものが最後に消されるような順番で消されます。すでに停止しているプロセスなので、強制終了をしてもユーザーには悪影響がありません。

  5. 5.Empty(空のプロセス)

    何もしていないプロセスです。このプロセスを維持しておく理由は、キャッシュとして使用することにより次回の起動時間を短くするためです。システムはこのプロセスを一番頻繁に消します。

これらプロセスの優先順位は、実行内容を見て随時変更されるようです。
ちゃんと内容をチェックしているようなので、端末のスペックが十分にあれば完全にシステム任せでもよいと思うのはこのためです。

(参考)http://developer.android.com/intl/ja/guide/topics/fundamentals.html

次回は、実際にタスク管理系のアプリケーションを使ってプロセスを管理する方法を考えてみます。

ブックマーク・共有

  • ブログのフィードを取得する
  • このエントリをはてなブックマークに登録
  • このエントリをDeliciousに登録
  • このエントリをDiggに投稿
  • このエントリをStumbleUponに投稿
  • このエントリをTechnoratiに投稿
  • このエントリをFaceBookに投稿
  • このエントリをRe Tweet

トラックバック URL


内容への言及のないもの等は削除する場合があります。

0 コメント (コメントはまだありません)

この記事へのコメント


(コメントは承認後に公開されます)

Masayoshi プロフィール

Masayoshi

好きなもの:アイコン、インターフェース、Android、Mozilla全般、しょう油、ランチパックjQuery、写真撮影、SMASHING MAGAZINE、コーヒー、緑茶、沖縄

スキル:Webデザイン、名刺デザイン、ロゴデザイン、広告制作、XHTML、CSS、JavaScript、PHP、Flash、EC-CUBE、WordPress、Movable Type、Typepad、Apache(少し)

TwitterTwitter

  • ヤバすぎる RT @gosan すげえw 広大なスケールと奇抜な発想力だなぁw 【iLike】 http://bit.ly/cTVYEV 5 日前
  • ココイチで注文を聞きにきた女の人、めっちゃ顔の位置近いんだけど‥ 5 日前
  • 買ったDesire用ケース(というかスリーブ)hTcのロゴと黄色のステッチがステキ。 http://tinyurl.com/24q3ftn 1 週間前
  • Desire用のケースがきてたーーーー!!発注して1ヶ月ちょい。Royal Mail(イギリスの郵便局的な)できてた。 1 週間前
  • ESTAの取得が9月8日から有料化(14ドル)されるらしい。なんてタイムリー!急いで取得しよう。 1 週間前
  • もっと見る...
Twitter Button

お問い合わせ