私は現在、Monodroid/Xamarin を使用してクロスプラットフォーム アプリケーションに取り組んでいます。SQLite.net データベースを使用しており、現時点では Android UI のみを構築しています。
アプリケーションには、複数のデータベースの読み取りと書き込みを行うバックグラウンド スレッドで実行時間の長いメソッドがあります。
Android 4.2.2 を実行している Nexus 7 でこの長時間実行されるメソッドをテストしていましたが、2 回目の画面回転後に SQLite 例外がスローされ、アプリケーションがクラッシュしたようです。
例外スタック トレースは、画面を回転するタイミングによって異なりますが、例外は常に、Prepare2 内のインスタンスに設定されていないオブジェクトです。
興味深いのは、4.1.2 を実行している Samsung Galaxy S2 でテストすると、例外が発生することですが、これは別の例外です。さらに、Samsung Galaxy Tab 2 とエミュレーターでテストすると、エラーはまったくスローされず、メソッドは問題なく完了します。
アイデア、ヒント、提案をいただければ幸いです。
副次的な質問として、私が Xamarin を使用して見たすべてのクロス プラットフォーム アプリケーションで、データベース レイヤーやリポジトリは常に静的です。その理由は何ですか?
みんな、ありがとう