Android SQLite 连接管理
我正在我的 android 项目中使用 SQLite。我很清楚一个功能 - 如果有多个线程使用数据库,那么它们应该只使用 DBHelper 的一个实例,并且 SQLite 保证对数据库的安全访问(即使是并发的)。 但我还有一件事需要澄清。我应该如何管理数据库连接(SQLiteDatabase
对象)?我应该多久调用一次 geWritableDatabase()
和 close()
?如果我调用这些方法一次可以吗?或者每次对数据库执行读/写操作时获取 SQLDatabase 对象并关闭一个更好?
I'm working with SQLite in my android project. There is a feature that is clear to me -- if there are multiple threads working with DB then they should use only ONE instance of DBHelper and SQLite guarantee a safe access (even if it is concurrent) to the DB.
But I still have one thing needed to be clarified. How should I manage with DB connection (SQLiteDatabase
object)? How often should I call geWritableDatabase()
and close()
? Is it ok if I call these methods once? Or it's better to obtain SQLDatabase object and close one every time I perform read/write operation on DB?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它是默认处理的...我的意思是,如果打开一个可写数据库,每当您尝试访问只读数据库时,它都会关闭可写数据库并创建新的只读数据库实例。据我所知 :)
It is handled by default... I mean if a writtable database open, whenever you try to access read-only database it closes writtable one and create new read-only database instance. As far as i know :)