有什么奇怪的是它并不是每次都发生。我正在给数据库添加一些东西,如果我这样做了几次没有任何反应,但是如果我继续添加并且继续添加这个错误消息就会发生。有时会发生在第二次,而其他时间则不会发生在第五次。这似乎是随机的。任何人都有任何想法,为什么按下相同的按钮组合不会每次都会导致此错误消息?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