公布对@Singleton ORMLite帮手(Releasing ORMLite helper o

2019-09-21 11:13发布

我有一个@Singleton在那里我已经注入的实例类OrmLiteSqliteOpenHelper 。 我是不是真的永远需要调用OpenHelperManager.releaseHelper() 如果我这样做,在哪里以及应该怎样做的类不扩展任何Android基类,哪儿能找到给onDestroy

Answer 1:

有一个ORMLite这表明这家名为例如Android项目HelloAndroidNoBase 。 我检查出来。

从主相关的代码段Activity包含下面。 你需要有这种代码在你的每一个Activity ,使用数据库或其他类。

如果你的类不具有onDestroy()方法,那么你需要添加一个,并从其他类之一,它具有调用它onDestroy() 主要的Activity是一个很好的地方。 所以,你的MainActivity.onDestroy()将调用yourClass.onDestroy()当应用程序被关闭。

public class HelloNoBase extends Activity {

    private DatabaseHelper databaseHelper = null;

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (databaseHelper != null) {
            OpenHelperManager.releaseHelper();
            databaseHelper = null;
        }
    }

    private DatabaseHelper getHelper() {
        if (databaseHelper == null) {
            databaseHelper = OpenHelperManager.getHelper(this,
                DatabaseHelper.class);
        }
        return databaseHelper;
    }
}


文章来源: Releasing ORMLite helper on @Singleton