2014-07-12 12 views
0

我得到一個當後臺線程正在將數據處理到數據庫時如何處理DB.close?

java.lang.IllegalStateException Cannot perform this operation because the connection pool has been closed.

,因爲我的應用程序從服務器獲取信息,並在其中background thread寫的東西我SQLite database處理它。

我在關閉應用程序時收到此錯誤,並且仍有後臺線程正在嘗試寫入封閉的數據庫。

我解決這個問題的最好方法是什麼?

+0

掛起後臺線程? – JohnnyAW

回答

0

解決此問題的最佳方法是什麼?

不管關閉它,都不要關閉數據庫。要麼找到一個更好的時間來關閉它(當你知道什麼時候不再需要它),或者根本就不關閉它。

+0

謝謝!我假設系統會在所有功能完成後自動關閉它。 –

+1

@TheNomad:不是。數據庫將保持打開狀態,直到您的流程終止。這並不罕見,不會造成任何特別的傷害。 SQLite是事務性的,因此當您執行實際的數據庫I/O時,所有內容都寫入磁盤。 – CommonsWare

+0

啊,明白了。謝謝您的幫助! –