gpt4 book ai didi

android - Android AsyncTask 和 realm.executeTransactionAsync 的区别

转载 作者:行者123 更新时间:2023-11-29 15:42:27 25 4
gpt4 key购买 nike

我是 Realm 世界的新手,遇到了麻烦。我的 Android 应用程序中有一个动画,当有一个数据库进程正在运行并且我的动画正在卡住时显示。我认为可能是因为我的数据库进程遇到了这样的 AsyncTask:

    new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
//HERE IS MY CODE TO SAVE DATA
return null;
}

@Override
protected void onPostExecute(Void result) {

}
}.execute();

我想知道 Android 的 AsyncTask 和 realm.executeTransactionAsync(...) 之间是否有一些区别。 executeTransactionAsync 方法防止 UI 卡住?

最佳答案

Animation 在主线程上运行,而 AsyncTask 不运行(在单独的线程上运行)。

my animation is freezing. I think can be because my database process in running into a AsyncTask

这种情况不太可能发生。

在 Realm 提供的异步事务中执行数据库事务当然比将事务包装在您自己创建的异步任务中更好(至少在概念上如此)。

为异步事务切换异步任务不会解决您的问题。

关于android - Android AsyncTask 和 realm.executeTransactionAsync 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38338207/

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