UI 将 36 MB JSON 文件写入领域数据库时被阻止,因此无法显示进度
UI blocked when writing 36 MB JSON file to realm Dataabase, so unable to show progress
我正在尝试将本地 JSON 文件(即 36 MB 大)解析到领域数据库中。我也在尝试在执行此操作时显示进度条。但它没有显示。然后我使用计时器在一秒钟后启动领域任务,这次进度对话框启动但在一秒钟后挂起。我什至尝试了异步领域任务,但问题仍然存在。
RealmAsyncTask transaction = realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm bgRealm) {
}
}, null);
// configuration change ...
public void onStop () {
if (transaction != null && !transaction.isCancelled()) {
transaction.cancel();
}
}
伙计们,找到关于这个的任何解决方案。
改用异步事务
showProgressbar();
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
// Import data
}
}, new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
hideProgressbar();
}
}, new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
hideProgressbar();
}
});
我正在尝试将本地 JSON 文件(即 36 MB 大)解析到领域数据库中。我也在尝试在执行此操作时显示进度条。但它没有显示。然后我使用计时器在一秒钟后启动领域任务,这次进度对话框启动但在一秒钟后挂起。我什至尝试了异步领域任务,但问题仍然存在。
RealmAsyncTask transaction = realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm bgRealm) {
}
}, null);
// configuration change ...
public void onStop () {
if (transaction != null && !transaction.isCancelled()) {
transaction.cancel();
}
}
伙计们,找到关于这个的任何解决方案。
改用异步事务
showProgressbar();
realm.executeTransactionAsync(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
// Import data
}
}, new Realm.Transaction.OnSuccess() {
@Override
public void onSuccess() {
hideProgressbar();
}
}, new Realm.Transaction.OnError() {
@Override
public void onError(Throwable error) {
hideProgressbar();
}
});