こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

アンドロイドのメモリー管理

先般よりドコモのT-01Cを使い始めたスマートフォン初心者です。

使い始めて気がついたのは、アンドロイドOSが基本的にはアプリを終了させないことです。
各所HPではタスクキラーソフトを用いての使用済みアプリの管理する方法が述べられており、
これを参考に Advanced Task Manager を試しているところです。

この一方でアンドロイドではメモリーが不足すると、OSが自動的にアプリに占有されている
メモリーを開放し、システムを安定化させるような事が述べられていました。

この自動でのメモリー開放プロセスについて質問です。

メモリー不足でアプリを終了させる際、アンドロイドOSはどのような基準で終了させるアプリ
を決めているのでしょうか? 又、特定のアプリを保護する、或いは終了に際して優先順位
を付けることは可能でしょうか?

メモリー管理を怠った際に、SPモードや着信制御アプリのような常駐型のアプリが終了して
しまうことを心配しての質問です。 回答宜しくお願いします。

投稿日時 - 2011-01-22 14:56:10

QNo.6466425

暇なときに回答ください

質問者が選んだベストアンサー

どのプロセスを強制終了させるかを判断するため、状態に基づいて各プロセスの重要度を判定し、必要であれば重要度の低いもの(下記の区分けでは 5に含まれるもの)から強制終了するようです。

重要度の高い順に並べると下記の様になります。
1.フォアグラウンド プロセス(ユーザーが行っている作業に必要なプロセス)
2.可視プロセス(ユーザーが見ている画面に影響を及ぼすことのできるプロセス)
3.サービス プロセス
4.バックグラウンド プロセス
5.空のプロセス

※参考:Android Developer
http://developer.android.com/intl/ja/guide/topics/fundamentals.html

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

投稿日時 - 2011-01-22 15:41:37

補足

早速の解説ありがとう御座います。
大変良くわかりました。

参考文を拝見したですが、
1)オートスタートするプロセス→サービスプロセス
2)空のプロセス→ウィンドウズのプリフェッチのようなもの

という理解で良いのでしょうか?

投稿日時 - 2011-01-22 15:57:20

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(2)

>特定のアプリを保護する、或いは終了に際して優先順位
>を付けることは可能でしょうか?

保護というか、アプリを終了不可にすることは可能です。ただし、これはアプリの開発段階でそのように設定して作ります。勝手に終了されると困るようなアプリでは、この設定を行って勝手にメモリを解放されないようにしています。

>メモリー管理を怠った際に、SPモードや着信制御アプリのような常駐型のアプリが終了して
>しまうことを心配しての質問です。

アプリの開発段階で、そうしたアプリは終了しないようにしているはずですので心配はないでしょう。ただし、すべてのアプリが正しく作られているわけではありません。そのへん、いい加減に作ってあるアプリは勝手に終了してしまうこともあるかも知れません。このあたりは実際に使ってみるしかないでしょう。著名なアプリは、たいていそのあたりはきちんと作っているはずですので、勝手に終了することはないはずです。

また、Androidではアプリというのはパソコンのように1つのプログラムがタスクとして実行されているようなものではなくて、いくつものプロセスによって複合的に動いています。あるアプリを起動しても、実は画面に表示されるアクティビティとプリファレンスのアクティビティとバックで処理するサービスと……みたいにいくつものプロセスが実行されている、ということも多々あるのです。ですから、一見するとアプリは終了しているのだけど、実は1つだけサービスのプロセスが起動したままになっていて、それが背後で何らかの処理をし続けている……なんてこともあります。

ですから、見た目で終了しているからといって本当に完全に止まっているかどうかは別だったりします。タスクマネージャなどでは、こうしたものも有無をいわさずタスクKillしてしまったりするので、こうしたタスクマネージャを使うと、本来終了しては困るものなども終了することになるので、そのあたり注意して利用されるのがよいと思います。

投稿日時 - 2011-01-22 20:32:17

お礼

丁寧なご説明ありがとう御座います。
プログラムの走り方がwinとかとは違うのですね。

その辺をわきまえて使っていきたいと思います。

投稿日時 - 2011-01-25 20:48:17

あなたにオススメの質問