有什麼奇怪的是它並不是每次都發生。我正在給數據庫添加一些東西,如果我這樣做了幾次沒有任何反應,但是如果我繼續添加並且繼續添加這個錯誤消息就會發生。有時會發生在第二次,而其他時間則不會發生在第五次。這似乎是隨機的。任何人都有任何想法,爲什麼按下相同的按鈕組合不會每次都會導致此錯誤消息?Sqlite完成遊標還沒有被關閉或關閉
0
A
回答
1
你應該看到的錯誤之前執行以下操作:
D/dalvikvm( 285): GC_FOR_MALLOC freed
這表明,Android機正在釋放潛在的泄漏得到更多的內存。你的光標也是一個泄漏,因爲你沒有用<cursor>.close()
正確關閉它;
2
首先關閉的onDestroy和的onStop光標這樣的:
if(mCursor!= null && !mCursor.isClosed())
mCursor.close();
,然後嘗試調用startManagingCursor(cursor)
後,你用你的光標對象,如果你用它來進行查詢,等等,稱之爲後您使用光標進行的操作。
2
你可能會遇到同樣的問題,當我從一個ListView的sqlite數據庫獲取數據。
如果在完成它之後關閉遊標... ListView爲空白。
如果你不關閉遊標... ListView將偶爾產生你所看到的錯誤。
解決方案?將光標放到你的班級,並且只關閉一次:當你完全用它做完。 (在onDestroy和/或onStop中)。
我不知道爲什麼#1發生。 (我儘量避免使用全局變量,但在這裏不能避免。)
相關問題
- 1. SQLIte光標 - 在null上完成還沒有被停用或關閉的例外
- 2. 成語關閉遊標
- 3. 應用程序沒有關閉遊標,儘管關閉
- 4. android沒有關閉遊標的缺點
- 5. 完成尚未停用或關閉的遊標
- 6. CursorLoader和完成遊標尚未停用或關閉錯誤
- 7. Android:完成尚未停用或關閉的遊標
- 8. 在SQLite中關閉遊標或連接有什麼區別嗎?
- 9. Android需要關閉遊標,數據庫,兩者還是沒有?
- 10. 關閉還是不關閉?
- 11. JFrame沒有完全關閉
- 12. 即使關閉遊標也不能關閉遊標
- 13. android完成一個尚未被停用或關閉的光標
- 14. 完成一個尚未停用或關閉的遊標,並且在sqlite中沒有這樣的表listitem
- 15. Android應用程序沒有關閉遊標或數據庫
- 16. android sqlite異常遊標或數據庫未關閉
- 17. 關閉ResultSet的遊標?
- 18. 在哪裏關閉遊標?
- 19. wxpython遊標關閉事件?
- 20. managedQuery不關閉遊標onDestroy?
- 21. Android,處理關閉遊標
- 22. 安卓:遊標不關閉
- 23. 超時或關閉過程完成
- 24. 關閉Sqlite android
- 25. 關閉Socket還是應該關閉流?
- 26. 沒有被停用或關閉的光標
- 27. 關閉自動完成
- 28. Swift AVPlayerItem完成後關閉
- 29. 關閉自動完成
- 30. RunWorkerAsync關閉完成的BackgroundWorker