我在自定义视图中以不同的方法多次使用相同的光标。我应该在每次使用后关闭游标还是保持打开状态,直到视图被破坏?对于数据库也是如此,一旦持有此视图的活动被创建并在活动被销毁时关闭,它可以被打开吗?如上所述,我不断收到错误'close()从未显式调用数据库...'。什么时候应该关闭游标和db?
3
A
回答
2
每次使用后我应该关闭游标还是可以保持打开状态直到 视图被破坏?
取决于。如果游标结果不会同时发生变化(例如,远程连接修改数据库),那么就可以。不要忘记使用CursorLoader
让Android自动管理您的光标(例如,如果您的应用崩溃,请关闭光标)。
而同样的数据库,可以一次被创建 持有这种观点的活动被打开,当活动被销毁关闭?
是的,你可以在onResume()
和关闭onPause()
回调打开,或当你知道你的数据库是不会再被质疑。
我不断收到错误“close()方法从未被明确要求数据库 ......”当我做如上文所述。
只有当您的应用程序崩溃时,这才是正常的。如果你像我上面所说的那样做,就不应该发生。
1
一旦你不需要它们,你可能想要关闭与数据库的所有连接。如果您稍后需要连接,则保持连接即可,即当活动被销毁时关闭连接。
1
您可以尝试将您的数据库和游标代码移至onResume和onPause以避免该错误。但我想一个更简洁的方法就是在您的活动中实施LoaderCallbacks。你有没有考虑过?
相关问题
- 1. 什么时候应该关闭游标变量?
- 2. 什么时候应该关闭SolrSearcher?
- 3. 什么时候应该关闭DatabaseHelper?
- 4. 什么时候应该关闭EntityManagerFactory?
- 5. 节点sqlite3什么时候关闭db
- 6. 什么时候应该打开和关闭MongoDB连接?
- 7. 什么时候应该使用学说ORM和什么时候zend-db-table?
- 8. ResultSet什么时候关闭?
- 9. 什么时候关闭ResultSet
- 10. 什么时候应该在游标中使用'for update nowait'?
- 11. 什么时候应该使用sql游标
- 12. 什么时候应该关闭MapReduce作业中的HTablePool?
- 13. 什么时候应该关闭PHP中的数据库连接?
- 14. 什么时候应该关闭SQLiteDatabase对象?
- 15. 什么时候应该关闭数据库连接?
- 16. 我什么时候应该关闭,我提供给ListView控件
- 17. 我应该在哪里关闭游标?
- 18. 什么时候应该去Silverlight和XNA?
- 19. 什么时候应该用Nunjucks和Angular?
- 20. 什么时候应该使用标准的html标签/输入,什么时候应该使用asp.net控件?
- 21. 什么时候应该扩展NSDocument,什么时候应该扩展NSWindowController?
- 22. 什么时候应该使用sed,什么时候应该使用awk
- 23. 什么时候应该使用memcpy,什么时候应该使用memmove?
- 24. 什么时候应该使用Import-Package,什么时候应该使用Require-Bundle?
- 25. 我们什么时候应该上课,什么时候不应该上课
- 26. 什么时候应该使用async/await,什么时候不用?
- 27. 什么时候应该使用AWS,什么时候不使用
- 28. 什么时候DB表应该分成两个单独的表?
- 29. 什么时候关闭WCF客户端?
- 30. 什么时候关闭Elasticsearch中的TransportClient?
好的。从这个错误可能来自哪里的任何想法? db在onCreate()中打开并在onStop()中关闭,那么它怎么还说它没有关闭? –