2018-03-05 到達点メモ
昨日まで、ずっと起動しているアプリが時間になっても
制限表示画面が立ち上がらないというバグがあったが
案外あっさりと対策できた。
方法は簡単で、UsageEventsでアプリの起動ログを取っているのだが
これを10秒から12時間に変更すればいいだけである。
流石に12時間もスリープ無し、アクティビティ移動無しはないと思ったので……
あと、データの先祖返りが起きていたので
それも解決した。
事例を具体的に上げると、ダイアログで時間を設定した後にスケジュール設定アクティビティに戻り、各曜日のON/OFFやリミットフラグのON/OFFといったデータのセーブ処理を挟むことをやると、時間変更前の設定に戻ることが起きた。
原因は、最初アクティビティを起動したときに、データをロードするのだが
ダイアログで時間を保存すると、ダイアログのデータとアクティビティ起動時の
データが一致しない為、最終的に保存されるアクティビティ起動時の
データが優先されるため先祖返りが起きた。
対策としては、パラメーター代入前にデータを再度ロードすればいいだけなのだが
関数にまとめた際にそのままコピペすると同じ名前を再定義することなって
バグのもとになったので今後は気を付けたい。
直近の重要な難所が案外簡単に解決できたので
今日はここまで。
0 コメント:
コメントを投稿