Наличие базы данных на постоянном томе хранилища (будь то карта или внутренняя флэш-память) увеличивает вероятность повреждения, и это почти всегда происходит из-за цикла спящего режима. Когда устройство приостановлено, хранилище обычно отключается, а когда оно возобновляется, оно перемонтируется. В зависимости от реализации OEM, соединения могут или не могут пережить это разрушение и нарастить хорошо (я видел устройства, где соединение, удерживаемое в цикле ожидания / пробуждения, всегда будет выходить из строя, хотя не всегда с повреждением). *
Моя типичная методика для устройств, в которых устройство, находящееся в режиме ожидания / сна, во время работы - всегда закрывать базу данных после каждой «транзакции» с базой данных. Да, это замедляет работу, но значительно снижает как повреждение, так и недействительность соединения.
Я даже довел его до крайности, наблюдая за событиями диспетчера электропитания в DAL и заставляя его отменять и повторять любое действие с данными, над которым он работает во время изменения состояния питания.