設計メモを書いておく。
補間モード(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 |