Что произойдет, если вы просто никогда не закроете свое соединение? Я знаю, что вы получаете исключения, если не закрываете его и пытаетесь открыть еще один, но что произойдет, если у вас есть глобальный синглтон, и вы просто не закрываете его? Любая идея?
Никогда не закрывайте соединение Android SQLite
Ответ 1
В пространственно-временном континууме формируется раскол, угрожающий исчезновением всей жизни во Вселенной, до тех пор, пока день не будет спасен кучей людей в ярких смешных нарядах (в том числе некоторые с накидками, если вы можете верьте этому).
О, нет, подождите. Это была просто комикс.
На самом деле ничего не происходит. Мне сказали, что Google Googlers и другие эксперты из Android, что из-за того, как работает SQLite (в частности, обработка транзакций), ничего плохого не произойдет, если вы не сможете закрыть базу данных.
Фактически, если вы внедряете поставщика контента, у вас будет такой же эффект, поскольку контент-провайдеры не вызываются с помощью любого метода onDestroy()
, то есть у вас никогда не будет возможности закрыть вашу базу данных. Поставщик контента будет жить до тех пор, пока процесс не будет завершен. Лично это меня действительно задевает, что является одной из причин, по которым я пытаюсь минимизировать использование контент-провайдеров.