リリースされたばかりなのに不具合がわかっているっていうのはどういうこったい…ユーザーのみなさまにはご迷惑をおかけしております。
以下に、技術的な詳細情報を記しました。
この問題は、メモリ枯渇によりかなりの確率でアプリが落ちていた問題を緊急避難的に解消するための改良により発生してしまいました。原因は、画面がいったん削除され改めて再表示されるケース(メモリ枯渇状況でしばしば生じます)において、情報の再ロードが行われていないことによります。
次期バージョンでは確実に修正されます。
前述の問題を修正したことにより、落ちるケースはかなり減りましたが、それでも落ちるパターンが2つ確認できています。
まず1つは、地図画面がメモリ枯渇で削除され再表示されるまでの間に、地図への何らかの更新を要求される場合の不具合です。(3)(4)(5)が該当します。
データが更新された場合、地図上のピンの色を変えねばならないことがあるため、強制的にデータベースの再検索を行っています。また、地図上の選択を変更する操作でも、検索は行われます。そしてこれらは、ユーザーによる画面操作を妨害しないよう、作業用スレッドにて行われます。
しかし現在のバージョンでは、この時点で地図画面が削除されているとき、既に解放した作業用スレッドに対して更新要求を行なってしまっています。そのためアプリが落ちてしまいます。
これは純然たるバグですので、次期バージョンでは修正される予定です。
なおこれらの場合、データベースが更新された後の検索で発生しているため、更新自体は完了しています。
一方、もう1つのケース(2)では、メモリ枯渇によりiOSが自動的に「表示されていない画面の削除処理」を行いますが、これによって2重開放されてることがあるようです。
いわばiOSの不具合ではないかと思われますが、こちらのアプリが画面切り替えのタイミングでデータベース検索を行うため、すなわちメモリ要求を行うために発生するものだとも言えます。
なんとかこのあたりを回避できないか、研究を続けたいと考えています。