У меня есть обычная база данных SQLite в моем приложении, управляемая через собственный ContentProvider и реализованная через SQLiteOpenHelper.
Только на Droid каждые несколько недель база данных просто исчезает. У меня есть несколько пользователей, которые написали мне об этом, и я тоже видел это сейчас. Я добавил некоторую отладочную информацию (сложно воспроизвести, когда вы видите ее только раз в несколько недель), и в одном случае это происходило между обновлениями виджетов - во-первых, виджет отображается и показывает данные просто отлично, в следующий раз SQLiteOpenHelper onCreate называется.
Само приложение выполняет некоторые многопоточные махинации, но все реализации ContentProvider имеют ключевое слово synchronized, весь доступ к базе данных осуществляется через провайдера контента, и в описанном выше примере многопоточность не выполняется ( само приложение не было запущено, только виджет).
И снова, это только на Droid. Я никогда не видел это на G1. Я никогда не закрываю базу данных, но, поскольку она является поставщиком контента, мне кажется, что я не должен этого делать в первую очередь (я помню, как вздор сказал, что идея заключается в том, что ОС закроет процесс приложения, когда это необходимо, что автоматически закрыть базу данных).
Есть идеи?