gpt4 book ai didi

android - onPostExecute() 的 "runs on UI thread"到底是什么意思?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:03:03 28 4
gpt4 key购买 nike

考虑在 Activity 中启动的 AsyncTask。如果 Activity 被暂停或销毁会怎样? onPostExecute() 会运行吗?如果是,将使用什么 UI 线程?

只是想知道。

非常感谢。

最佳答案

UI 线程在您的应用程序的可见生命周期内可用,可能跨越多个 Activity 的组合。

您在 View 中所做的任何更改都必须在 UI 线程上执行,AsyncTaskonPostExecute 通过在 UI 线程中执行内部指令来反射(reflect)相同的逻辑。

您可以在自己的Thread 中使用runOnUiThread 来更改View。但是因为 AsyncTaskonPostExecute 方法(它也在 UI 线程上运行)所以你在逻辑上不需要在那里使用 runOnUiThread


更新

关于你的问题:是的,onPostExecute 仍然会被调用(因为它是由一个单独的线程调用的)即使你的 Activity 被销毁并且如果该方法将操作 View ,你将简单地得到 < strong>Force Close 错误,因为对您的 Activity 的引用不再可用。

关于android - onPostExecute() 的 "runs on UI thread"到底是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10686107/

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