2011/08/15

IS03不具合調査

前々から感じていた、「画面消灯時システムスリープしない病」について、自分なりに原因を分析してみたのでそのメモ。
何度かハッシュタグ付きで呟いたので、目に留めてくださった方もいらっしゃるかもしれませんね。


この症状は、何かがきっかけになって、スリープ時にシステムが走り続けて大体10%/H位バッテリーが浪費されてしまうというもの。「あれ?」と思ったときに、充電池データ(Battery History)を見ると、以下のような状態になっているのが特徴。

ちなみに、SparePartsやQuickSystemInfoPro等の
メジャーなシステムアプリを入れる等すれば簡単に見れます


一目瞭然で、画面点灯時間に対して実行中が多すぎる(ほぼ100%になる)のが特徴。ただ、部分起動状況を見ても原因となるアプリがわからず、ほとほと困っていた。


ただ、そのきっかけとなる原因がよくわからなくて、大体は再起動すれば直るのだが、直らないときもあるし、何も無いときに電池を入れ替えると発生したりする。私が経験した、トリガーと思われる事象はこんな感じ。

  • WiFiオンのまま、再起動する(起動後、1度オフにすれば復旧する場合もある)
  • 標準のアラームアプリでアラームをセットする
  • 電池交換のため、1度電源を切る
  • 過負荷をかけた(Dropboxへアップロードを繰り返した後、SDカード内を整理した)後、再起動する
・・・等等。他にもあると思うけど、毎回システムを注視できないので、原因となる操作が特定しにくいので困っている。ただ、上に挙げたトリガーも、毎回必ず発症させられるわけじゃないので、開発者様に報告も出来ないのが、さらに拍車をかけて困るorz


原因調査のために、今回いれたアプリがこれ。

電池持ちに影響するアプリを発見するツールBattery Impact Checker - SH Developers Square

これで、発病時にログ取りをして、原因となるアプリ&サービスを特定してしまおうという作戦。先日発病したので、嬉々としてログ取りをしたら、見事に成功した。

これでは見にくいので、NO Alarmでフィルター
(AlarmManagerは、このアプリのログ取りトリガーらしいです)



と、原因は”tag=SubDisplayService”となった。ただ、”uid=1000 pid=289”はandroidシステムのパッケージなので、結局犯人はわからずじまい。ただ、きっとこのタグはIS03最大の特徴「メモリ液晶」のことだろうと思う。

今回のPartial Wake Lockはスリープ時にCPUをONのままロックするモードのことだそうで、電池もちに影響を与えるアプリは大抵このロックをかけ続けるらしい。ただ、全てが全て悪いわけではなく、例えばK-9mailの自動同期のタイミングでこのロックをかけたりするので、必要な機能であることは間違いないみたいです。


もう少し研究してみて、発生前後のログ取り等もやって見ようとは思うけれど、ケータイアップデートさえまだ来ないIS03に、不具合報告をして果たして改善されるのか?という一抹の不安もよぎり…でも、原因をユーザーで共有できるのは大事なので、何とかしたいと思います!

どなたか詳しい方がいらっしゃったら、アドバイスをいただけると嬉しいですm(_ _)m




 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates
Related Posts Plugin for WordPress, Blogger...