さて、長いこと放置していたはてなダイアリーの方ですが、まとめ書きした方がいいものは、やっぱりこちらに書くということで。 AndroidでSQLiteを使うケースは多々あると思いますが、明言されていない注意点があるので忘備録がてら。 SQLiteDatabase#closeは明示で呼ぶな、Cursor#closeは明示で呼べ これはSQLiteの作りの話ですが、SQLiteではマルチスレッドに対してコネクションオープンからクローズまでは保障する、という作りになっています。 要はコネクション単位でスレッドセーフですよ、ということ。 AndroidでSQLiteを使って検索系の処理をするのに、いわゆるWebアプリ的な作りで考えると、更新系処理ではCUD処理のあとにSQLiteDatabase#closeとしがちですが、android.database.sqlite.SQLiteException