gpt4 book ai didi

android - 将 36 MB JSON 文件写入 Realm 数据库时 UI 被阻塞,因此无法显示进度

转载 作者:行者123 更新时间:2023-11-29 19:07:10 25 4
gpt4 key购买 nike

我正在尝试将一个本地 JSON 文件(即 36 MB 大)解析到 Realm 数据库中。我也在尝试在执行此操作时显示进度条。但它没有显示。然后我使用计时器在一秒钟后启动 Realm 任务,这次进度对话框启动但在一秒钟后挂起。我什至尝试了异步 Realm 任务,但问题仍然存在。

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();
}
});

关于android - 将 36 MB JSON 文件写入 Realm 数据库时 UI 被阻塞,因此无法显示进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46768704/

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