首页 > 解决方案 > 异步删除和添加实体房间。这可以引入以下问题吗?

问题描述

如果我运行一个异步调用来删除房间数据库中的所有实体,然后在另一个异步调用中添加实体,是否有可能删除新添加的实体?

这两个调用将在同一代码块附近运行。被删除的实体是否会删除新添加的实体?

我应该通过在完成初始删除任务后进行回调来避免这种情况吗?

标签: androidandroid-room

解决方案


默认情况下,所有查询 (@Query) 必须在主线程以外的线程上执行。(您稍后再处理。)对于插入或删除等操作,如果您使用提供的便利注释,Room 会为您处理线程管理。

来源: 14.1A:使用架构组件:Room、LiveData、ViewModel


推荐阅读