gpt4 book ai didi

java - 从一个 Realm 异步复制到另一个 Realm

转载 作者:搜寻专家 更新时间:2023-11-01 09:40:00 25 4
gpt4 key购买 nike

根据我的理解,Realm 只能从主线程访问。

我使用两个 Realm ,一个用于存储“脏”数据,经过验证后,这些数据将被移动到真实 Realm 。

到目前为止一切顺利,但我找不到在主线程之外执行此操作的方法。如果我使用 realm.executeTransactionAsync() 写入真实 Realm ,我将无法访问事务线程内的脏 Realm 或其 RealmResults

唯一的解决方法是在主线程上使用 dirtyRealm.copyFromRealm() - 这可能会阻塞线程更长时间,对吧?

这是正确的方法还是有更好的解决方案?

最佳答案

作为 EpicPandaForces 答案的替代方案,可以针对此问题采用一种快速解决方法:

executeTransactionAsync block 中使用简单的同步查询(如 findAll())和 realm.copyFromRealm(results) - 它可能不会执行不包含写入操作的事务是一种很好的做法,但它无需更改整个代码即可完成工作。

TLDR;将您的查询和 copyFromRealm 移动到 executeTransactionAsync block 。

关于java - 从一个 Realm 异步复制到另一个 Realm ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40422672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com