2012-01-11 49 views
2

我有一个处理所有数据库访问的单例类。在每个查询中,我打开数据库,查询完成后关闭数据库。这在我看来造成了很多开销,因为我的SQLiteOpenHelper可以保持数据库连接为我打开。我的问题是:如果我始终保持数据库的打开状态,会有什么影响?在整个应用程序生命周期中打开数据库

+1

只是没有大多数开发人员喜欢在应用程序启动时关闭,并在完成时关闭 – ingsaurabh 2012-01-11 10:25:06

+0

为什么不使用ContentProvider ... AFAIK CP的一个实例是为应用程序实例创建的(因此它是一个实例,直到应用程序即使你使用多个Activites和/或服务和/或Recivers也会被操作系统杀死) – Selvin 2012-01-11 10:28:03

+0

@ingsaurabh因为我没有正确地关闭数据库,所以不要冒着泄漏的风险。 – HenrikT 2012-01-11 13:23:58

回答

0

Here我试着回答类似的问题。我认为当你打开和关闭所有请求的数据库时,会有巨大的开销。所以也许,正如在评论中提出的那样,应该在应用程序启动时打开数据库,并在应用程序被销毁时关闭它。至于我,我通常在活动的onResume方法中打开数据库,我不知道它是否正确。

相关问题