2011年9月26日月曜日

Androidアプリで電池消費になるわけ

自作しているAndroidアプリが起動する度にバックグラウンドにプロセスが残っているようで電池を消費し続けるという問題があった。

磁気センサーを使ったあぷりである。
いろいろ調査した結果、原因が判明しました。

【原因】
SensorManagerクラスのregisterListenerメソッドでリスナー登録して、
センサーを使わなくなったらunregisterするってのが本来の使用方法でした。
が、registerListenerメソッドを重複して呼び出してるような処理になっていることに気付いていませんでした。
つまり、特定の操作をするとリスナーが重複して登録されてしまい、
結果として終了処理ですべてのリスナーを解除できなかった、というのが原因でした。


見つかって良かったです。

0 件のコメント:

コメントを投稿