我有一个@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