我有一个应用程序,其中包含2个部分:
- 一个创建内容的服务。
- 一个使用该内容的应用程序。
这两者都作为不同的进程运行。问题是它们共享一个数据库,当服务尝试写入数据并且UI正在读取数据时,经常会出现数据库锁定错误,反之亦然。 如何解决这个问题呢?
- 用于访问数据库的类是单例类。但由于UI和服务是2个不同的进程,我想有2个单例类,因此这并没有帮助。
- 即使使用
synchronize
关键字,也不会有所帮助,因为这还是因为有2个不同的进程。 内容提供者(Content Providers)
可能是一种选择,但由于我使用复杂的查询来获取信息,使用它可能非常困难。
如何让这两个进程共享数据库? 非常感谢您提供任何线索。