在onPause()中关闭数据库

时间:2012-03-06 15:47:36

标签: android database sqlite onpause

暂停活动时关闭数据库是最佳做法吗?或者,无论活动的状态如何,都可以让数据库保持打开状态吗?

很想知道因为如果我在onPause()中关闭我的数据库 然后尝试在onResume()中重新打开它,它抛出一个空指针异常,并说试图从已经关闭的游标重新查询数据库。 。 。

3 个答案:

答案 0 :(得分:3)

onDestroy()中关闭它是最好的方式。

答案 1 :(得分:0)

我从不关闭我的数据库,而是在我的自定义onCreate类实现的Application中打开它。

有一个onTerminate方法,但文档说它永远不会被执行,所以没有真正的方法可以找出应用程序何时终止。

我从未遇到never close database模式的任何问题。

答案 2 :(得分:0)

你能发布错误吗?我通常在onPause方法中关闭数据库并在onResume中打开它。因为我已经读过并不总是调用onDestroy。但在你的情况下,问题是,我认为,在一个未关闭的Cursor中。但我不确定这就是为什么我要求你发布logcat和你的代码。