【问题标题】:Database opened throughout application lifetime在整个应用程序生命周期中打开的数据库
【发布时间】:2012-01-11 10:14:12
【问题描述】:

我有一个单例类来处理我所有的数据库访问。在每个查询中,我打开数据库,当查询完成时,我关闭数据库。在我看来,这会产生很多开销,因为我的 SQLiteOpenHelper 可以为我保持数据库连接打开。我的问题是:如果我始终保持数据库打开,会有什么影响?

【问题讨论】:

  • 大多数开发人员都不喜欢在应用启动后打开并在应用完成后关闭
  • 你为什么不使用 ContentProvider ... AFAIK 为 App 实例创建了一个 CP 实例(所以它是一个实例,直到应用程序被操作系统杀死,即使你使用多个 Activites和/或服务和/或接收者)
  • @ingsaurabh 因为我没有正确关闭数据库,所以我不要冒险泄露东西。

标签: android sqlite


【解决方案1】:

Here 我试图回答一个类似的问题。我认为当您为所有请求打开和关闭数据库时会产生巨大的开销。所以也许,正如评论中建议的那样,您应该在应用程序启动期间打开数据库,并在应用程序被销毁时关闭它。至于我,一般都是在activity的onResume方法中打开数据库,不知道对不对。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    相关资源
    最近更新 更多