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