在Android中管理SQLite连接

Nat*_*n B 18 architecture sqlite android

关于在Android中处理SQLite数据库连接,我有一个(希望)快速的问题.我有一个自然地由几个活动组成的应用程序.我创建/更新/查询数据库没有问题,因为我已经创建了一个专用的类来通过SQLiteOpenHelper等来处理这项工作.

我的问题是:由于这些活动都共享同一个数据库,这通常是作为单个静态成员实现的,还是每个活动都拥有自己的连接?我当然关心的是每次活动中重新连接数据库的成本.

或者换句话说,有没有理由不存储单例实例?

我也想知道幕后是否有类似于.NET连接池的事情,以降低打开连接的成本.

提前致谢!

Vla*_*nov 13

SQLite中的连接开放大约是0.2ms.

最佳实践告诉我们每次需要时打开和关闭连接.


Riv*_*Kid 9

只需使用SQLiteOpenHelper.getReadableDatabase()SQLiteOpenHelper.getWriteableDatabase() - Android将管理和缓存连接,因此您不需要.

实际上,请参阅官方Google 使用数据库文档:

要写入和读取数据库,请分别调用getWritableDatabase()和getReadableDatabase().这两个都返回一个SQLiteDatabase