Skip to content

Files

43 lines (23 loc) · 1.74 KB

MEMO.md

File metadata and controls

43 lines (23 loc) · 1.74 KB

メモ

設計メモを書いておく。

描画スレッド

補間モード(interpolation mode)のアニメーションを実現するために描画スレッドを立てている。

MySurfaceView.java 参照。

通信量取得スレッド

「更新間隔」の設定値に従って通信量を取得するスレッド。

従来は更新間隔を AlarmManager を呼び出していたが Android 5.1 から AlarmManager の最短間隔が 5~6 秒程度になったため、本方式に変更した。

AlarmManager は Service の維持のために継続して実行する。

LayerService.java 参照。

通信量取得スレッドの起動タイミング

タイミング 実行箇所 備考
端末起動時(自動起動設定ONの場合) BootReceiver
-> LayerService.onCreate+onStartCommand
メイン画面の「開始」ボタン押下時 MainActivity.doRestartService
-> LayerService.onBind
端末のスリープからの復帰時 LayerService.mReceiver

通信量取得スレッドの終了タイミング

タイミング 実行箇所 備考
メイン画面の「停止」ボタン押下時 MainActivity.doStopService
-> LayerService$LocalBinder.stop
端末のスリープ時 LayerService.mReceiver