我对房间感到困惑,在文档中找不到答案。
因此,该库在单独的线程上强制使用查询,这是可以理解的。但是,似乎删除查询不包含在此限制中,并且可以从UI线程中自由调用。他们还总是返回原始输出值,而没有机会将其包装到Observable中。
在房间然后中使用删除呼叫的正确方法是什么?是否应该在单独的线程上运行?如果没有,那么性能和并发修改又如何呢?
答案 0 :(得分:3)
如果您使用LiveData从Room检索数据,它将在辅助线程中执行。对于其他查询,您可以使用执行程序和存储库模式。您可以在此页面中查看guide to app architecture。
您可以在link中查看有关Rx和其他体系结构组件示例的信息。
问题作者的分析笔记:
在示例中,他们使用Completable
包装 Room 删除呼叫,然后将其调度到io()
调度程序中< / strong>,对空的完整和任何错误作出反应。可以在here中找到该特定代码。