質問: アプリが勝手に起動するのを許可、不許可選びたい。 【探しているアプリ】 節電アプリ 【有料/無料】どちらでも可 【機種名】 xperia vl 【androidバージョン】 4.1.2 【root済/可否】否 【検索したキーワード】 節電アプリ、アンドロイド・・・etc 【試したアプリ】 超節電、節電♪長持ちバッテリー(電池節約&残量管理&スマホ最適化)、充電が超長持ち♪高性能バッテリー♪(電池節約&残量管理) 最近スマフォを購入して今必死に勉強中の者です。 現在節電アプリを探しているのですが、上記のアプリは使用しても暫くすると直ぐメモリ使用量が圧迫し、効果 があるか疑問に思っております。 調べたところ、メモリを解放してもバックですぐまた動くことがわかりました。 実際go launcher起動中に上部にある「稼働中」を見ると何度消しても明らかに(しかも家計簿など 通信とは無関係な)アプリがいくつも無断で起動していることが分かりました。 そこで(理由は不明ですが)無断で起動するアプリについて、起動自体を許可、不許可を選べる ようにすることで、大きく節約できるのではないかと素人ながらに思い、そういうアプリを探しています。ご存知の方は教えていただけませんでしょうか? lineなどはリアルタイムで受信したいと思っております。 juicedefenderというのがそれっぽいのですが・・・
回答: 基本的に、アプリが起動・常駐するのは、アプリ側がそういう作りに なっている為で、起動を制限する事は出来ません。 「端末を再起動後、自動的に常駐する」アプリは androidシステムが発行するブロードキャスト(action_boot_completed)を受け取った際に、 サービスを起動させるような実装がされています。 また、インストール直後から常駐するようなアプリは、 「install_referrer」というブロードキャストを受け取り常駐します。 「アプリケーションが停止されても、自動的に再常駐」するのは、 androidのリファレンスに記述がありますが、context.stopservice()または stopself()が呼び出されるまで、サービスは起動し続ける仕様になっているからです。 あと、androidの肝とも言うべき重要なosの機能として「インテント」という物があります。 その中でも「暗黙的インテント」という機能は、起動させるアクティビティを指定せずに インテントのパラメータに起動するアクティビティをある程度推測できるだけの 情報(インテントフィルター)を入れておくと、該当するアクティビティが起動するようになっています。 このインテントに、一々メモリへのロードやアンロードをさせずに即座に対応できるように 常駐させるように実装されているアプリもあります。 たとえば、webブラウズ中に、メールアドレスをタップすると、メールアプリに制御を 渡したり、画像をタップすると、画像ビューワを起動したり、地図情報をタップすると マップアプリが起動したり、というように使い手の利便を考えて、androidがインテントを 処理するような仕組みになっています。 それらの動作を阻害するような不要なタスクキルを繰り返すと、不要なキャッシュが増大したり 余分なメモリ消費やcpuの負荷を誘発したりして、バッテリー消費に繋がります。 androidはアクティビティの優先度を判定して、メモリ管理やタスク管理を行ってますので、 そういうosの基盤となる動作は、osに任しておいた方が良いです。