月別アーカイブ: 2014年10月

CountDownTimerのタイマー表示のブレ


キッチンタイマーアプリのカウントダウン方法は、CountDownTimerを使いました。
カウントダウン中のタイマー表示は、CountDownTimer#onTick()で得られた時間を
“分:秒”の形にして表示しています。
実際に動かすとタイマーが1秒毎に減っていかない場合がありました。
10秒→8秒といったように一気に2秒減ります。
しかし全体としてはちゃんと10秒でアラームがなります。
なのでタイマー表示だけがおかしい状態でした。

原因は、インターバル時間を“1秒”にしていたことでした。
onTick()で終了までのミリ秒を引数で受け取りますが、
10秒でスタート→8.9・・・秒で受け取る→8.0・・・秒で受け取る
という動きをしていました。
コンマ何秒の差で表示にブレが出ていました。

対応としては、インターバル時間を短くし、
時間を短することでタイマー表示の精度を上げて回避しました。
とりあえず半分の0.5秒にすることでこの現象は出なくなりました。