【发布时间】:2012-03-06 15:47:35
【问题描述】:
在活动暂停时关闭数据库是最佳做法吗?或者不管活动的状态如何,让数据库保持打开状态是否安全?
很想知道,因为如果我在 onPause() 中关闭我的数据库 然后尝试在 onResume() 中重新打开它,它会抛出一个空指针异常并说试图从一个已经关闭的游标中重新查询数据库。 . .
【问题讨论】:
标签: android database sqlite onpause
在活动暂停时关闭数据库是最佳做法吗?或者不管活动的状态如何,让数据库保持打开状态是否安全?
很想知道,因为如果我在 onPause() 中关闭我的数据库 然后尝试在 onResume() 中重新打开它,它会抛出一个空指针异常并说试图从一个已经关闭的游标中重新查询数据库。 . .
【问题讨论】:
标签: android database sqlite onpause
在onDestroy() 中关闭它是最好的方法。
【讨论】:
我从不关闭我的数据库,而是在我的自定义 Application 类实现的 onCreate 中打开它。
有一个onTerminate 方法,但文档说它永远不会被执行,所以没有真正的方法来确定应用程序何时终止。
never close database 模式我从未遇到任何问题。
【讨论】:
你能发布错误吗?我通常在 onPause 方法中关闭数据库并在 onResume 中打开它。因为我读过 onDestroy 并不总是被调用。但在你的情况下,我认为问题在于未关闭的光标。但我不确定这就是我要求您发布 logcat 和您的代码的原因。
【讨论】: