我有一个@Singleton
类,我在其中注入了OrmLiteSqliteOpenHelper
. 我真的需要打电话OpenHelperManager.releaseHelper()
吗?如果我这样做,应该在哪里以及如何完成,因为该类没有扩展任何我可以到达的 Android 基类onDestroy
?
问问题
1437 次
1 回答
3
有一个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;
}
}
于 2012-08-22T14:16:25.800 回答