gpt4 book ai didi

安卓 : can AsyncTask return in another thread than UI thread?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:09 26 4
gpt4 key购买 nike

Android 文档说 AsyncTask postExecute() 在 UI 线程上被调用。我的印象是 postExecute() 是从调用 execute() 的线程调用的:我一直在后台服务中使用 AsyncTask 和它自己的线程,并且 postExecute() 在服务线程中调用,而不是在主线程中调用。
但是,我最近遇到了一个问题,即 postExecute() 根本没有被调用,同时抛出了一个异常:“在死线程上向处理程序发送消息”。

具体情况如何:
- 只能从主线程使用 AsyncTask 吗?
- 如果不是,应该在哪个线程中调用 postExecute():始终是 UI 线程,还是 execute() 调用线程?

谢谢

最佳答案

AsyncTask 的 pre 和 postExecute 方法在创建任务实例的线程上调用。在哪里调用 execute() 并不重要。您创建任务的线程必须是循环线程,实际上应该始终是主线程(或 UI 线程)。

关于安卓 : can AsyncTask return in another thread than UI thread?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3300897/

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