2013年11月4日月曜日

Dropbox DatastoreAPIを使った自作常駐アプリのバッテリーの減りがすごい

数カ月前から Dropbox の DatastoreAPI つかった常駐アプリを作ってます。

常駐アプリや DatastoreAPI は何もかもが初めての体験で、ネットで調べまくって、時には SDK のリファレンスなどもまじめに読みつつやってきました。

「何となく形になってきたな!そろそろ公開か!?」と思い、自宅のいろんな端末に入れて試してたら、満タンだったバッテリがー1日で空っぽに!

初めは端末のせいにして「古い端末だからしゃーねーわな」などと思っていたのですが、念のためBatteryMix見たら自作アプリがとんでもないことに。

AlarmManagerで5秒おきに裏で処理させてたので、それが悪さしてると思い画面OFFと同時に停止するように。そして実験。

やっぱりダメ。すげーバッテリー消費してる。
もう嫌になって2週間ほどEclipse起動せず放置。

ふと気になって、Dropboxのサービスが裏で動いてるのかも・・・と思って、画面OFFと同時にDatastoreをcloseしてみた。
それでもダメ・・・。もう泣きそう。

どうしたもんかね~と悩みつつ、EclipseのDDMSいじってたら、Start Method Profilngというボタンを発見!試しに押してみると、呼ばれたメソッドとかが一覧表示されてるじゃないですか!
するとそこには、Dropboxのサービスがしっかり裏で動いてました。closeしても動き続けるなんて・・・体を潰したムカデみてぇな野郎だ。

DatastoreAPIのリファレンス見てたら、DbxDatasotreManagerにshutDownってのがあるんですね。これはもしや?と思い、close直後にshutDownしてみたら、おお、なんだか行けそうな感じが(^o^)

この状態で今日1日放置してみます!


-----------------------
2013/11/06 追記
どうやら、うまくいってるみたいです。バッテリーの消費がかなり抑えられてますね(^◇^)
さて、気合も入ってきましたので、小さなバグ潰しをして、リリースに向けてがんばろう~。
テキトーにガンバロー

0 件のコメント:

コメントを投稿