Unable to destroy activity xxx: android.database.sqlite.SQLiteException: unable to close due to unfinalised statements
アクティビティが破棄されているときにエラーが発生します。これは、AsyncTasks 内からデータベース操作を実行していて、完了前に何らかの形で強制終了されているためだと思います。
AsyncTasks
アクティビティが停止する前に、実際に完了したことを確認するにはどうすればよいですか? ちなみに、チェックで同意し ないと、 anAsyncTask
を明示的に殺すことはできないと思いました。AsyncTask
このエラーは、Robotium 統合テスト中に発生している可能性があります。テストが完了してテストが呼び出された後に発生していると思われますRobotium.finishOpenedActivities()
。私の推測では、AsyncTask
これが可能な場合、どういうわけか実行中に強制的に殺されているということです (ただし、私のAsyncTask
実装ではキャンセルを明示的にサポートしていません)。さらに、データベースへのアクセスには OrmLite を使用しています。