关于Android AsyncTask的疑问

发布于 2022-09-01 18:18:44 字数 387 浏览 13 评论 0

在使用AsyncTask过程中遇到个问题,情况如下:
activity1中通过AsyncTask加载了一个网络资源,activity2中通过AsyncTask读取本地SQLite中的数据;在网络正常的情况下进入activity1后再通过链接跳转到activity2都一切正常;当我把网络关闭后重新进入activity1(这里设的链接超时是10秒),进来了立即跳转到activity2,这时候activity2的数据也不会立即展示出来,大概需要10秒才会显示,是否是因为第一个AsyncTask任务还没有返回结果一直处在等待的状态从而阻塞了第二个AsyncTask任务呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜心 2022-09-08 18:18:44

”大概从Android从3.0开始,每次新建异步任务的时候AsnycTask内部默认规则是按提交的先后顺序每次只运行一个异步任务。当然了你也可以自己指定自己的线程池。“
所以大概理解就是默认 AsyncTask 一个一个去执行的
可以这样写改为共同进行:

            TestTask task= new DocumentPImageTask(..);
            task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ..);

你可以自己搜索下AsyncTask.THREAD_POOL_EXECUTOR 详细了解.
最后说下AsyncTask 不是很好..

她说她爱他 2022-09-08 18:18:44

网络关了,Http请求立马就返回false了把.能不能把代码贴上,不然别人理解不了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文