gpt4 book ai didi

Android 2.3.3(API 级别 8)AsyncTask 怪异

转载 作者:行者123 更新时间:2023-11-30 03:46:25 27 4
gpt4 key购买 nike

我有几个 Activity 处理不同的屏幕,这些屏幕包含通过 AsyncTask 异步加载的信息。

所有的数据获取都在 doInBackground() 中完成所有的UI操作都在onPostExecute()中完成

在某些情况下,我收到错误:“无法在尚未调用 Looper.prepare() 的线程内创建处理程序”

如果我执行 Looper.prepare(),如果为此类实例化了一个新 Activity ,它就会崩溃。

这是一种奇怪的行为,我能够找到它发生的原因。具有类似行为的其他屏幕按预期工作。我找不到它们之间的区别。

有人有过这种行为吗?

最佳答案

“无法在未调用 Looper.prepare() 的线程内创建处理程序”意味着您正在尝试在 UI 线程外调用 AsyncTask.execute()

使用 AsyncTask 时应遵循以下几条规则:

  • 任务实例必须在 UI 线程上创建。
  • execute(Params...) 必须在 UI 线程上调用。

也可能意味着您正在 doInBackground 方法中创建 Handler 对象。

关于Android 2.3.3(API 级别 8)AsyncTask 怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14936460/

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