首页 > 解决方案 > 在 Application 类中关闭 DBHelper

问题描述

参考Android: Documentation for using SQLite database,我们应该在活动的 onDestroy 中关闭对 DBHelper 的引用:

@Override
protected void onDestroy() {
    mDbHelper.close();
    super.onDestroy();
}

但我想在 Application 类中使用 DBHelper 对象:

public class UnifiedApplication extends Application {

    // Database helper
    public UnifiedAppDBHelper mDbHelper;

    @Override
    public void onCreate() {
        mDbHelper = new UnifiedAppDBHelper(this);
        super.onCreate();
    }
}

我曾考虑在 Application 类中添加mDbHelper.close()onTerminate()但如文档中所述,onTerminate()永远不会在生产设备上调用。我应该在哪里关闭 mDbHelper 对象?

标签: androidandroid-sqlitesqliteopenhelper

解决方案


您不必关闭mDbHelper对象。只要Application对象存在,您的数据库会话就会存在,这很好。

在这里你可以找到更多关于它的信息。


推荐阅读