来自错误线程的 Realm 访问。 Realm 对象只能在创建它们的线程上访问。
我使用 Realm 数据库做报警服务。
因此,为了获得“时间”数据,我必须访问在其他线程中创建的对象。
所以我像下面的源一样复制了 realmlist,但是在这部分出现了 illegalstateexception。
还有其他解决方案吗?
Realm realm = Realm.getDefaultInstance();
List<DayWorkType> dayWorkTypesCopied = realm.copyFromRealm(dayWorkTypes);
//FAILED HERE
realm.close();
最佳答案
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
Realm realm = Realm.getDefaultInstance();
try {
List<DayWorkType> dayWorkTypesCopied = realm.copyFromRealm(dayWorkTypes);
} finally {
realm.close();
}
}
});
thread.start();
关于java - Realm.copyFromRealm 导致从不正确的线程访问 Realm。是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54668137/