我在Android中使用GreenDAO处理数据库。当执行多个数据库更改(>15,000)时,我会收到以下错误消息:
数据库 “/data/data/…” 的连接池无法为标志为0x1的线程312(Thread-312)授予连接30.000002秒。
所有操作都卡住了。为什么会出现这个错误?
我在Android中使用GreenDAO处理数据库。当执行多个数据库更改(>15,000)时,我会收到以下错误消息:
数据库 “/data/data/…” 的连接池无法为标志为0x1的线程312(Thread-312)授予连接30.000002秒。
所有操作都卡住了。为什么会出现这个错误?
当我想在一个正在进行的交易中选择一个表上的查询时,出现了这个消息。在交易的finally块中执行endTransaction()
后问题得到解决。
endTransaction()
并启动新事务。 - melbic当通过DBFlow FlowQueryList创建太多的SQLite连接时,我收到了这个消息。我的解决方案是确保一旦完成查询列表,就调用endTransactionAndNotify()
,然后在查询列表上调用close()
。
仅调用endTransactionAndNotify()
并不能解决问题。希望这可以帮助你,这个线程肯定对我有所帮助。