我有一个在后台线程中执行的长时间运行的操作。由于操作成功完成或根本不完成对操作很重要,因此我将整个操作包装在一个事务中。在此期间,UI的各个方面需要对数据库进行只读访问。为避免阻塞UI,我尝试在后台操作的主循环中插入对db.yieldIfContendedSafely()的调用。这就是我想要的,因为UI不再被阻止,但我不完全清楚这是否会导致数据完整性丢失。yieldIfContendedSafely()的javadoc说:Temporarilyendthetransactiontoletotherthreadsrun.Thetransactionisassumedtobesuccess