刺身の上にたんぽぽ乗せる日記

プログラミングしたり、自販機の下に落ちてる小銭を集めたりしてます

Anちゃん1.2.36リリース

  • beginTransactionのハンドリング忘れ箇所をさらにハンドル
  • nestedなexceptionをハンドリング
  • SQLiteDiskIOExceptionが出たらどうしようもないので、とりあえずユーザに教えてみる
  • 空き容量計算のバグ修正
  • onCreate/onResumeの処理を非同期に。ちょっと画面上のレスポンスが向上。
  • onPauseでの処理をlazyに行う。
    • onPauseからスレッド作って非同期にSQLite書き込みやってたけど、SQLiteのロックってグローバルロックっぽいので、戻った先がDB参照すると非同期の意味がない
  • バックリンクspamの対策

割と最近のバージョンでもSQLiteのDBが壊れた、という話を聞いたので、DB関係のコードを全て別プロセスに移して、DBへのアクセスは全てアプリからのIPCで行うように変更中。
SQLiteは一応ファイルロックで排他していることにはなっているけど*1、1プロセスからしかアクセスしないほうがrobustだということに加えて、あわよくばVM二つでOutOfMemoryの問題も解決できるかもしれないので、一石二鳥になるといいなぁ、と期待してる。

あと、多分次のバージョンでスレッドから戻る時の遅い問題を解決すると思う。本当に直るかわからないんだけど。

*1:LinuxだからAdvisory lock?