【发布时间】:2019-02-17 19:27:34
【问题描述】:
在上面的代码中,realm 不能在新的线程中执行它的事务,没有错误显示,但它也没有执行。
我已经尝试将事务放在线程之外,问题是它消耗了 UI 线程,但它运行良好,我想在 Retrofit 和 Realm 工作时向用户显示平滑加载
threadNova = new Thread() {
@Override
public void run() {
super.run();
try {
Response<Retorno> response = getCall.execute();
final Retorno responsebody = response.body();
Realm realm = Realm.getDefaultInstance();
realm.executeTransaction(realm1 -> {
//Save things on bank
// No errors but don't enter here either
});
} catch (IOException e) {
e.printStackTrace();
}
}
};
【问题讨论】:
-
我认为这可能会有所帮助,github.com/realm/realm-java/issues/3788
-
你能添加代码保存的东西吗?我猜你正在创建一个非托管对象并忘记保存它,所以你可以在事务中做你想做的一切,什么都不会被保存;)
标签: android android-asynctask realm retrofit2