gpt4 book ai didi

Android Java AsyncTask isCancelled 问题

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

我有一个应用程序,我可以在其中连接到 Web 服务以检索数据。我正在使用 AsyncTask 来执行此操作。这是我在 doInBackground 中使用的一段代码:

publishProgress(user.dbsCode() + ": Retrieving Standard Comments");
if (!_sync.isCancelled()) {
result = _dbFiller.fillStandardCommentsTable();
} else {
return null;
}

当我在我的模拟器中测试它时,它似乎工作正常。设置 isCancelled 并调用 onCancelled()。当我使用我的 Galaxy 平板电脑(运行 3.2...我的项目是使用 2.2 创建的)进行测试时,如果设置了 isCancelled,它就会成功或失败。

此过程可能需要一段时间,具体取决于特定用户下载的数据量。我做的第一件事是为用户下载一份(我们称之为)“工作”的列表。然后我调用单独的 Web 服务来下载不同的部分以完成“工作”。每个步骤都包含上面的代码,我在其中检查我的同步任务是否被取消。我真的迷路了。任何有用的意见表示赞赏。哪怕只是一个方向。我已经阅读了太多有关 AsyncTasks 的文章,以至于我的头都在旋转。

最佳答案

您在什么情况下取消下载?

由于您无法真正控制调度程序,因此您的任务可能在您能够取消它们之前已经运行完成。由于真正的硬件可能比您的模拟器更快,这似乎是可能的。

取消一个已经完成的 AsyncTask 没有任何作用,如果我没记错的话。您确定您的任务没有完成吗?

关于Android Java AsyncTask isCancelled 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202155/

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