gpt4 book ai didi

android - 从另一个 AsyncTask doInBackground() 启动 AsyncTask

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:45 25 4
gpt4 key购买 nike

我正在尝试从另一个AsyncTask 的doInBackground()-方法启动一个AsyncTask...

这可能吗?如果是,我该如何实现?

后期编辑:

我的想法是,我启动一个异步任务,它将从 Tweeter 获取我的状态……一切正常,直到这里……但是当我遇到一些特定的推文时,我需要用我的服务器的一些信息来修改它们,在这里我会进行另一个网络操作,因为我需要等到我从我的服务器获取信息,所以我这样做:

GetContent getContentServiceAsyncTask = new GetContent(context);
try {
tweetText = Uri.decode(getContentServiceAsyncTask.execute(
URL_GET_CONTENT, jsonRequest).get());
} catch (InterruptedException e) {
Log.e(TAG_DEBUG, "InterruptedException: ", e);
} catch (ExecutionException e) {
Log.e(TAG_DEBUG, "ExecutionException: ", e);
}

这是从 doInBackground() 方法中已经启动的 AsyncTask 开始的......

我知道我可以在 AsyncTask 中添加方法并在 doInBackground() 方法中调用它们,但我需要在其他地方使用它们,我从 onPostExecute 启动这些 AsyncTasks ...

如果你们认为有一个简单的解决方法,不会影响我的性能,那就太好了......如果没有,我会制作一些静态方法,我会调用我需要的所有 AsyncTasks (但这需要我修改很多代码)

最佳答案

AsyncTasks 应该从 ma​​in (UI) 线程运行。您不应从 doInBackground 运行另一个 AsyncTask,因为此方法是在非 UI 线程上执行的。

对于你的情况,我可以建议你两件事:

  1. 将两个 AsyncTak 的处理合并到一个请求中
  2. 从第一个任务的 onPostExecute 启动第二个 AsyncTask。

关于android - 从另一个 AsyncTask doInBackground() 启动 AsyncTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19520668/

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