Ormlite for Android,值得发布帮手?

时间:2013-09-19 08:06:43

标签: android sqlite ormlite

根据建议,我正在使用单例获取帮助程序(我确保它首先在我的应用程序的onCreate()上创建,使用应用程序上下文)。

然后使用来自不同[Intent]服务的帮助程序,但我对发布感到困惑:我已经阅读了这个related question,但是关于releaseHelper()的ormlite文档似乎是矛盾的:

  

警告:当您的应用程序或服务终止时,或者您的代码不再以任何方式使用帮助程序或派生的DAO时,应在onDestroy()类型的方法中调用此方法。 如果您希望在应用程序终止之前再次调用{@link #getHelper(Context)},请调用此方法。

上面警告的第二部分是告诉不要调用releaseHelper()如果我们期望在应用程序终止之前再次调用getHelper(),这很可能是在另一个服务被激活之前的情况。应用程序的进程终止了!

此外,根据this post,在Android上不释放帮助声音安全。

我误解了吗?

2 个答案:

答案 0 :(得分:2)

我必须同意这个混乱。

http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_4.html#Use-With-Android声明在每个Activity / Fragment的onDestroy()上调用OpenHelperManager.releaseHelper(),但是对releaseHelper()的警告注释明确告诉你只在应用程序时使用它终止。

也许releaseHelper()注释中的警告不再相关?由于他离开项目后的变化,Kevin Galligan's warning post也不再相关了吗?

答案 1 :(得分:1)

  

我误解了吗?

不确定您是否理解。

数据库关闭后,即应用程序的最后一部分释放DatabaseHelper时,无法重新打开数据库。警告只是为了确保如果某个后台任务与数据库一起工作,那么在对releaseHelper()的最终调用之后要求帮助者已经成型。如果你有后台任务,那么他们应该得到帮助并保持它直到任务完成。