gpt4 book ai didi

android - 如何在循环中使用异步任务?

转载 作者:搜寻专家 更新时间:2023-11-01 09:06:23 27 4
gpt4 key购买 nike

我正在使用 asynctask 将一些数据保存在数据库中,循环如下:

for(int i=0;i<5;i++){
new Loader().execute(i);
}

在我的 asynctask 类中,doinbackground 方法是这样的:

@Override
protected Void doInBackground(Integer... params) {
db.insert(params[0]);
return null;
}

它正在执行,但每次它都会在数据库中插入 i 的第一个值?如何使用相应的循环?

最佳答案

你可以这样做:

    @Override
protected Void doInBackground(Integer... params) {
int count = params.length;
db.beginTransaction();
try {
for (int i = 0; i < count; i++) {
db.insert(params[i]);
}
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
return null;
}

然后调用 new Loader().execute(1, 2, 3, 4, 5);

通过只创建一个AsyncTask 对象实例来节省内存

关于android - 如何在循环中使用异步任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11598267/

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