【发布时间】:2016-03-13 16:41:07
【问题描述】:
我在 Android 应用程序中看到很少有 "java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed." 异常。我在很多地方都没有关闭连接。连接也有可能在其他线程中关闭。
只是为了确定,SQLite 连接是否有可能自动关闭、操作系统关闭或隐式关闭?
【问题讨论】:
-
这里可能发生的是您的应用程序进程被杀死。如果您的应用程序在后台并且用户忽略它足够长的时间,或者如果 Android 需要资源,或者如果月亮已满,Android 将执行此操作。当用户最终返回您的应用时,Android 会重新创建应用进程并重新实例化仅堆栈中最顶层的 Activity。如果
Activity在正确打开数据库之前尝试访问数据库,您可能会收到此错误(或其他错误)。
标签: java android database sqlite database-connection