我有一个包含2个部分的应用程序.
每个都作为不同的进程运行.问题是他们都共享一个数据库.当服务尝试写入某些内容并且UI正在读取数据时,我经常会遇到数据库锁定错误.反之亦然.怎么办呢?
synchronise我猜想,即使是因为2个不同的过程也无济于事.Content Providers 也许是一个选项,但由于我使用复杂的查询来挖掘信息,所以也很难使用它. 如何让两个进程共享数据库.任何提示将不胜感激.
当我使用第三方非线程安全的sqlite库时,我从生产中得到"android.database.sqlite.SQLiteDatabaseLockedException"异常.我检查了所有线程和连接关闭,我使所有实例单例但我无法解决问题(我甚至没有自己重现案例).然后我将我的orm移动到Room数据库,这是完全线程安全的.但我仍然从生产中得到完全相同的错误.所以不是Room db线程安全,并不是像谷歌提到的那样处理传统sqlite库的问题吗?是否有人面对数据库锁定错误与房间?