動作環境
このアプリを動作させるためには端末をroot化している必要があります。root化とは、本来アクセスできないシステムやハードウェアにアクセスするための管理者権限を取得することです。操作を誤ればシステムを破壊する恐れもあるため、多くのメーカーはroot化が行えないように対策を講じています。このアプリはroot化せずに使うこともできますが、再起動のたびにパソコンが必要で、セキュリティ的にも安全であるとは言い難いため、ここでは紹介しません。気になる方は「testing for kitkat - Post #337」をご覧ください。
wakelockとは?
Androidはユーザーが操作していない時にdeep sleepと呼ばれる省電力状態に移行して、消費電力を抑える仕組みになっています。wakelockはdeep sleepへの移行を抑止して、アプリをバックグランドで動作させ続けたり、通知が来た時に画面を点灯したり、動画再生時に画面を点灯したままにするための機能です。アプリ開発者は、アプリがwakelockを取得する場合、必ずどこかのタイミングでwakelockを解除するように設計しなければなりません。ところが、設計不備でwakelockが解除されないアプリが実行されると、端末はdeep sleepモードに移行できず、スリープ中でも電池消費が激しくなったり、画面が消灯できなくなる現象が起こります。そのようなアプリを特定する時に役に立つのがWakelock Detectorというわけです。
CPU wakelockとscreen wakelockとは?
wakelockは厳密には4種類に分類することができますが、Wakelock Detectorでは画面が点いているか消えているかの2種類で分類します。画面が点いた状態のwakelockをscreen wakelockと呼びます。画面が消えた状態のwakelockをCPU wakelockと呼びます。wakeup triggersとは?
wakelockとは別にAlarmManagerという機能があります。AlarmManagerは定期的にdeep sleepを解除してタスクを実行するための機能です。こちらも電池持ちに影響します。Wakelock DetectorではAlarmManagerでdeep sleepを解除した回数をwakeup triggersと呼びます。使い方
初回起動時はroot権限を求められるので、許可してください。アクションバーのアイテムの説明
起動時は全開終了時の画面から始まります。まずはアクションバーのアイテムの説明から始めたいと思います。アクションバーとは画面上部に表示されるバーのことです。左から順に「Statistics(統計)」、「Sort by(並べ替え)」、「Refresh(更新)」が割り当てられています。
「Statistics(統計)」は「CPU wakelock」、「Screen wakelock」、「Wakeup triggers」を切り替えます。それぞれの違いは最初に説明した通りです。
「Sort by(並べ替え)」は「Running(実行中)」、「Usage(使用量)」、「ABCD..(昇順)」を切り替えます。Runningは実行中のアプリが最初に来るように並べ替えます。Usageはwakelockの使用時間の長い順に並べ替えます。ABCD..は昇順(あいうえお順)に並べ替えます。普通はどのアプリが電池を多く消費しているかを知りたいはずですのでUsageを使うのが良いと思います。
「Refresh(更新)」を押すと最新の状態に更新します。
画面の見方
統計の種類に関係なく、このようなアプリのリストが表示されます。とりあえず目に付いた「Facebook」に注目します。右側に「4 s」と「x72」という文字が表示されています。「4 s」はwakelockの時間、「x72」はwakelockの回数を意味しています。時間が長く回数が多いほど電池を多く消費しているということです。上のバーはdeep sleep解除時間全体に占めるwakelock時間の割合を示しています。
ちなみにscreen wakelockで動画アプリのwakelock時間が異様に長く表示されるのは、再生中に画面をずっと点灯させ続けているためであり、正常な動作です。
対処法
電池を多く消費しているであろうアプリが判明したら、それに対処する方法を紹介します。アンインストールする
使っていないアプリであればアンインストールすることで解決できます。他にも、FacebookであればSlimSocial for Facebookなどの電池消費の少ない代替アプリに乗り換える方法もあります。同期や通知の設定を見直す
同期や通知の間隔を設定できるアプリであれば、間隔を長くすることで電池消費を抑えることができます。Twitterの同期の設定 |