【发布时间】:2018-05-28 20:47:01
【问题描述】:
首先这是我第二次使用 Room for Android =D
我意识到,如果您遵循“打开(数据库访问)关闭”的做法,而不是仅仅打开并通过所有应用程序保持同一个实例打开,那么 Android Room jetpack 的工作会更加稳定/强大。
我知道 Android Room 的指导方针正好相反:
在实例化 AppDatabase 对象时,您应该遵循单例设计模式,因为每个 RoomDatabase 实例都相当昂贵,而且您很少需要访问多个实例。
这一段是否说您需要尽可能地保持与数据库的连接?或者您需要在“数据库”对象的内存中保留相同的引用,并且您实际上可以打开关闭连接,同时保持对同一对象的相同引用?
如果我尝试将“.db”文件复制到任何 SQLite 查看器中,如果我没有正确关闭连接,它可能不会将我的信息存储到表中,而如果我在插入数据后关闭所有内容工作正常。
我有点困惑什么是最好的方法。
【问题讨论】:
-
"这一段是否说您需要尽可能地保持与数据库的连接?" - 是的。 “如果我尝试复制“.db”文件”——这就是你困难的根源。使用其他解决方案(例如 Stetho)来检查您的数据库,而无需制作副本。
-
谢谢!开始使用 Stetho 并且是调试应用程序的好方法。
标签: android android-sqlite android-room