こんにちは、たかしーです。
最近、スマートフォンを使っていて、一部アプリのプッシュ通知が来ない問題に悩まされています。
一部のアプリというのはLINEだったり、その他もろもろのアプリだったりするのですが、端末をスリープさせてしばらく経つとうまく受信できなくなっている印象だったので、おそらくAndroid 6.0から導入されたDozeモードが悪さしてるんだろうなーと思っていました。
そのあたりで調べていたら、下記の記事を発見。
LINEとGmailがプッシュ通知されるまでdozeモードと戦う!(Android6) - つめもよう
この記事を書いている方もLINEでプッシュ通知が受け取れず悩んていたとのことなのですが、Dozeモードを無効化するアプリをインストールしたところ、動作が改善したとのこと。
早速自分のスマホにも導入してみたのですが、dosable状態でも残念ながらLINEの通知が届かないことが...orz
やっぱりLINE側の不具合だったかーと思っていたのですが、思わぬ効果が。
実はもう一つ、スマホを使っていて悩みだったのが"端末の動作の重さ"
特に6.0からなんとなく重くなってきている気はしていたのですが、何かしらのアプリが悪さをしているのだと思っていました。
ところが、このdisableDozeを導入したとたんに、端末がウソのように軽くなりました。
最近はTwiitterを閲覧していたりするだけでもCPUが常に100%になって、動作もかくつく状況だったのですが、disableDozeを有効化してからスイスイスクロールできるように。端末全体の動作も明らかに軽くなっていました。
気になって調べたところ、気になる記事が。
Android 7.0アプデ後のバッテリー異常消費、原因は「電池の最適化」の逆効果かも。除外するべきアプリ、プロセスの一覧 - スマホ評価・不具合ニュース
要はこれらのバックグラウンドで動作してなければいけないプロセスが「電池の最適化」によって強制的にキルされ、再起動を繰り返すことでバッテリーを余計に消費する、ということではないかと思います。
なるほど、納得...
記事は7.0となっていますが、6.0のdozeもやっていることは同じアプリの制限なので、同じと考えてよいかと...
実際にどんな動作をしているのかわからないので何とも言えないですが、よくよく考えてみれば、昔からメーカーが独自に積んでいた制限系の電池消費抑制機能でもかなり不具合は出ていたので、原理的に同じdozeモードもまた不具合の原因となることは十分あり得ると思うんですよね。
Androidの開発元が実装している機能なので、その辺はうまくやってくれると思っていたのですが...うむ(
dozeモードは完全無効化が標準でできないので、余計に困ります。
アプリ動作の制限は対症療法に過ぎないので、GoogleにはOSの動作を最適化したりで根本的に修正していく方でやっていってほしいですね。