サイト移転のお知らせ

こちらに移転しました。よろしければこちらへどうぞ。

Service Killerで停止できるサービス

Service Killer は、基本的にstopService()をコールしてサービスを止めているだけですが、止められるサービスと止められないサービスの解説と、自分での再確認を兼ねて、Androidの保護の仕組みを確認してみました。

 確認作業は、単純なサービスを起動するテスト用のアプリを作り、少しずつ変更しながらService Killerで停止できるかどうか(要は他のアプリからのアクセスが可能かどうか)を確認しました。
 逆に言えば、他のアプリから不用意にアクセスされたくないサービスを作るときの参考にもなるかもしれません。

続きを読む

テーマ : Android
ジャンル : 携帯電話・PHS

電話帳サービスを止めるためのアプリ?

 何度か話題にしてきた「電話帳サービス」ですが、こいつを止めるためだけに、というわけではありませんが、サービスを止めるアプリを作ってみました。
 その名も「Service Killer」(笑)。我ながらあまりにも安直な名前で失笑です。

 いわゆるタスクキラー系のアプリでも同様の事ができるかもしれませんが、これらがサービスを止めることに関してはどのような動作をしているかよく分からないのと、メモリ不足時のアプリの管理に関してはAndroidに任せておけばよいだろう、という考え方をしているのでサービスを停止することに特化したアプリを自分で作ってみることにした次第です。
 「電話帳サービス」に関しては、停止させてもSPモードメール受信時に生き返ってしまうので、このアプリにはSPモードメール受信をトリガーにしてサービス停止動作をする機能を付けました。
 また、私の端末(P-02D)で実験した結果ですが、SPモード受信後、数分してから電話帳サービスを停止してやらないとすぐに復活してしまうようなので、メール受信からサービス停止を実行するまでのディレイ時間を設定できるようにしています。
 よかったら使ってみてください。

Service Killer(Google Playへのリンク)

スマホからはこちらから。
Service Killer(Google Playへのリンク)


 メール受信以外にも、アプリインストール/アップデート時にも「電話帳サービス」は復活してしまうようなので、暇を見て今後のアップデートで対応していきたいと思っています。
 また、何やっているかよくわからんアプリは使いたくない、という方もいるかもしれませんので、暇があればこのブログで実装の解説なんかもしていきたいと思ってます。(個人的には行儀の悪い事していないつもりです。。。)
#その前に、使い方の解説とか充実させたほうがいいかな。。。

【2012/9/25追記】
ドコモの「電話帳サービス」の対策としてご利用されている方が多いので、対策まとめを開発者ブログに記載しましたので是非ご覧ください。
http://zaya3.blog.fc2.com/blog-entry-104.html

テーマ : Android
ジャンル : 携帯電話・PHS

アップデートしてみましまたが・・・

今週、ドコモの『電話帳サービス』を含め、複数のドコモアプリのアップデートがあったようです。
さっそく、ここ1、2日の間、気になるバックグラウンドでの動作(暴走?)状況をBattery Mixを使って見ていましたが、残念ながら現象は解消されていないように見えます。

そもそも、アップデートといいつつ何がどう変わったかをあまり開示してくれない事にもちょっと不満を感じてしまいますね。

Battery Mixの電力消費

電話帳サービスについての調査で非常にお世話になったBattery Mix(バッテリーミックス)というアプリ。

もはや説明するまでもないが、バッテリーの使用状況を表示してくれるだけでなく、稼働プロセスを監視してグラフ表示までしてくれる非常にすぐれもの。

このアプリを使って「電話帳サービス」のバッテリー使用状況をいろいろ調べていたわけだが、ふと気になった。
定期的にプロセスを監視しているわけだから、動かしていればそれなりにバッテリーを消費するのでは??
というわけで、比較調査してみた。

Battery Mix比較

左側が、Battery Mixでバッテリー監視、CPU監視、プロセス監視を有効にした状態で端末を放置したときのバッテリー使用状況の推移。
右側が、バッテリー監視、CPU監視、プロセス監視いずれも無効にした状態でのバッテリー使用状況。
なお、Battery Mixは、バッテリー記録を無効にしている間は、直前と直後の区間を直線としてグラフ表示してくれる様で、右側の図のグレーになっているところがバッテリー記録を無効にしている区間。
赤字がキャプチャ画像に僕が追記したもの。

計算してみると、
・監視を有効にしている場合(左側の図)では、1時間あたり1.63%でバッテリーが減少していく。
・監視を無効にしている場合(右側の図)では、1時間あたり1.19%でバッテリーが減少。

と、想像どおり、監視を有効にしているとバッテリー消費が大きくなるという結果になった。
ちなみに、実験に使った端末のバッテリーは1480mAhなので、計算すると(仮にずっとスマホを使わずに放置ししたとすると)
・監視有効の場合、61時間バッテリーが持つ
・監視無効の場合、84時間バッテリーが持つ
ということになる。ただし、実験の条件やら測定誤差やらを考えると数字自体はかなり怪しそう(笑)

ま、実際はいろんなアプリを使うことでこんなにバッテリーが持つことも無いし、ここでの差はそれほど気にするほどの値ではないだろう。

少しでも省電力化したいという場合は、バッテリー監視、CPU監視、プロセス監視を無効に設定しておき、特定のプロセスなどについて調べたいときにだけ有効にする、という使い方がよいのではないだろうか。

テーマ : Android
ジャンル : 携帯電話・PHS

電話帳サービス(3) 電力消費測定(再チャレンジ)

前回の「ドコモ電話帳サービス(2) 沈静化成功?」で電話帳サービスの電力消費具合の測定に失敗したので再チャレンジ。

電話帳サービスが動いていると、動いていない場合と比較して2.3倍電池が減る、という結論になった。
と、いきなり乱暴な結論を書いてしまったが、今回の実験は条件がいい加減だったりするので、そのつもりで読んでもらえたらありがたい。

まず、以下がBatteryMixでのバッテリーの推移。なお、この絵は分かりやすくするために数字を入れるなど多少加工している。
実験は、端末を再起動して「電話帳サービス」の停止とBatteryMixのログを削除したところからスタート。
この時点では電池残量86%。「電話帳サービス」が停止したまま状態で約8時間ちょっと経過して76%まで電池が減少(その間、僕は睡眠中。。。)

で、電池残量76%のタイミングで「電話帳サービス」が起動した。
これは、意図的に起動させたわけではなく、たまたまspモードメールを受信してしまい、これをトリガーに「電話帳サービス」が起動したようだ。

その後、約3時間弱経過して電池残量67%まで減少。CPUの負荷も増しているように見える。

電話帳サービス電力推移

以下の図が、同じ時間軸での稼働プロセスの状況。
途中「ドコモあんしんスキャン」が動いてしまっているが、ここではあまり関係ないので無視。
9:00くらいのタイミングからspモードメールと「電話帳サービス」が動きだしている。

電話帳サービスプロセス推移

で、以下の図が、上記のバッテリーの推移と稼働プロセスの図を画像編集ツールで合成したもの。
若干、時間軸がズレてしまっているがご容赦を。
やはり、「電話帳サービス」の動作開始と共にバッテリーの消費が激しくなると見てよさそうだ。

電話帳サービス電力プロセス合成

この結果から「ドコモ電話帳サービス」が動くとバッテリー減少が激しくなるということがはっきりさせることができたので、個人的にはスッキリ。
まぁ、スマホなんてずっと静止状態で置いておくわけではないので、この消費電力差が実使用上どの程度影響するかについては個々人の使い方によるところが大きいわけだが、やはり、何の役に立つか分からない「電話帳サービス」はなんとか止めてしまいたいと思ってしまう。

テーマ : Android
ジャンル : 携帯電話・PHS

サイト内検索
プロフィール

Author:imxs

Androidアプリ開発などを行っているimxsの開発者です。気になることを調べてメモって行きます。ほとんどの人にはどうでもいい内容でも、広い世の中一人くらいは同じ疑問を持った奇妙な人がいることを信じつつ。暖かい目で見守ってやってください。
imxsの開発者ブログは移転しました。よろしければこちらへどうぞ。

カテゴリ
最新記事
リンク
RSSリンクの表示
FC2カウンター
アクセスランキング
[ジャンルランキング]
携帯電話・PHS
93位
アクセスランキングを見る>>

[サブジャンルランキング]
Android(Google)
22位
アクセスランキングを見る>>