[CM12.1] バッテリイーターのpersistentに対処してみる(暫定版)
ということで、まずはBattery Mixを使って電力の使用状況をチェックしてみることに。すると、"persistent"なるプロセス的な何かが電力消費第1位になっております。
調べてみると、どうやらGoogle Play開発者サービスの関連機能である様子。
この手のバッテリイーターへの対処として一般的なのが無効化です。ところが、この"persistent"、アプリとしては存在していないらしく無効化は不可能。本体となるGoogle Play開発者サービスはシステムにとって重要な機能であるため、これを止めることはできません。さて、どうしたものか。
そんなこんなでxdaを検索してみると、なんとなく解答に近そうなスレッドが存在しておりました。思いっきり要約すると、Google Play開発者サービスの権限を制御するという手法です。
そのためには、個別に権限を管理する仕組みが必要となりますが、CM12.1にはプライバシーガード(設定→プライバシー→プライバシーガード)としてその機能が実装されております。
他のバージョンのCyanogenModにも搭載されている機能ではありますが、手元にはCM12.1搭載機しかなく、これ限定で話を進めさせていただきます。また、AOSP版のROMにおいては"App Ops"を使っても同じような結果が得られるようですが、その辺に関しては元ネタをご参照いただきたく。
で、何をどうするか具体的な話ですが、プライバシーガードにてGoogle Play開発者サービスを開き、緑色のスライドスイッチがある3つの機能(スリープの解除/スリープモードにしない/自動実行)をOFFにします。あとは再起動すればOK。
その結果はこちらの図を見てのとおり。グラフの半分ぐらいから電力消費を示す緑色がまばらになっております。冒頭のスクリーンショットと比べると良くわかるかと。
これで万事解決...のハズだったのですが思わぬ落とし穴がありました。
やたらとGoogle Play開発者サービスが異常終了してしまいます。実害はないようですが、そのたびに「問題が発生したためGoogle Play開発者サービスを終了します。」なダイアログが表示されるため、かなりウザい状態になります。
また、後になって気付いたのですが、AndroidのSmart Lockも機能しなくなっておりました。ふと、「この2つの問題は関連してるんじゃね?」というヒラメキが...。
これを検証すべくSmart Lockを無効にしてみたところ、Google Play開発者サービスの異常終了は激減し、"persistent"の電力消費も改善されてほとんど無視できる状態に。どうやら、止めた機能が必要であった場合にGoogle Play開発者サービスが落ちてしまうようです。
では、ということでSmart Lockを有効にして、プライバシーガードから"スリープモードにしない"をONに、他の2つをOFFにしてみました。すると、Smart Lockは問題なく動作し、Google Play開発者サービスの異常終了もごくわずかになりました。ところが今度は電力消費が増えるという"ふりだしに戻る"状態。
電力消費の増加に関しては、元のレベルに戻ってしまったのか、それとも少々の省エネ効果があるのか、グラフでは微妙過ぎて読み取ることができません。
いずれにせよ、完全にGoogle Play開発者サービスの異常終了がなくなる訳ではなく、稀に発生する状態となっております。Smart Lock以外でも該当する機能が必要とされているのかも。
こんな状況であるため、タイトルに暫定版の文字が付加されている次第であります。ただ、今回の手法であればリスクも少なく、簡単に戻すことができますので、とりあえず対処してみてダメと感じたら戻す、というのでもよろしいかもしれません。
"persistent"の存在が気になって仕方ないユーザには一度お試しあれ。
コメント