いつもアプリのご利用ありがとうございます。?
今回のアップデート 2.0.37 (2019年2月19日) での変更点を以下にご説明いたします。
今回も内部の動きになり、表から見える点ではありません?
■設定保存の安定性を向上させました
レビューなどでもいただいておりました、ウィジェットの設定が反映されない(場合がある)という件につきましての対策です。
対処内容:
設定保存を行う SharedPreferences について、他アプリとのデータやり取りにも利用する ContnetProvider を介して利用するように変更しました。
本アプリでは SharedPrefrences という Android の仕組みによって設定データを保存しています。
最終的なデータの保存先は xml データファイルになるのですが Android システムが上手にキャッシュしてくれるので、通常は意識することはありません。
たとえば、SharedPrefrences に設定を書き込むときには Android システムがまずメモリ内の控えを更新するとともに、手があいたときにデータファイルを更新してくれます。
これにより、プログラム側はデータファイルの更新完了を待つ必要がなくなりますし、データファイルへの更新が完了していなくても更新された値を読み出すことができます。
ただし、これは同一プロセス内でプログラムが動いている場合にはうまく動作しますが、複数プロセスから SharedPreferences を使おうとすると問題が発生する場合があります。?
例として、プロセスAが行った更新がデータファイルへまだ反映されていない場合には、プロセスBは更新内容を知ることができない、ということが起こり得ます。
で、本アプリについてですが、メインのアプリケーションとウィジェットは通常は同一のプロセスで動作しています。(では関係ないやんか!)?
ContentProvider を介することで、万が一にもプロセスが分離したとしてもデータを正しく扱えるように対策をした、という内容になります。?
効果のほどには自信がありますが(逆にこれでダメであれば次の手段はもっと大きな改造になります?)まだ問題が発生するようでしたら、一度状況・機種をお知らせをいただけると助かります。
最後に、今後の動きについても簡単にご説明を申し上げます。
とくに緊急のバグが見つからなければ、次のリリースは 2.1.x 系統となり、もっと多くの計算機・テーマ種類をご選択いただけるオンラインギャラリー機能が実装される予定です。
アプリプログラム・サーバ側プログラムはほとんど上がっているのですが、肝心のギャラリー内容が・・・
ご期待くださいとはとても言えませんが、よろしければお気に留めていただけると助かります。?