Управление соединениями SQLite на Android

У меня есть (надеюсь) быстрый вопрос относительно обработки соединений базы данных SQLite в Android. У меня есть приложение, которое составлено, естественно, из нескольких видов деятельности. У меня нет проблем с созданием / обновлением / запросом базы данных, поскольку я создал отдельный выделенный класс для работы с SQLiteOpenHelper и т. Д.

Мой вопрос заключается в следующем: поскольку эти действия все используют эту же базу данных, обычно ли она реализуется как один, статический член или каждая деятельность имеет собственное соединение? Конечно, моя забота – это затраты на повторное подключение к базе данных в каждом мероприятии.

Или, по-другому, есть ли причина не просто хранить экземпляр singleton?

Мне также интересно, если что-то происходит за кулисами, подобным пулу соединений .NET, чтобы снизить затраты на открытие соединений.

Заранее спасибо!

Открытие соединения в SQLite составляет около 0,2 мс.

Лучшая практика говорит нам открывать и закрывать соединение каждый раз, когда нам это нужно.

Просто используйте SQLiteOpenHelper.getReadableDatabase () и SQLiteOpenHelper.getWriteableDatabase () – Android будет управлять и кэшировать соединение, поэтому вам не нужно.

Фактически, обратитесь к официальной документации Google Using Databases :

Для записи и чтения из базы данных вызовите getWritableDatabase () и getReadableDatabase () соответственно. Оба они возвращают SQLiteDatabase