gpt4 book ai didi

Android AsyncTask 启动另一个 AsyncTask

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

我目前正在 AsyncTask 的 onPostExecute 方法中执行类似的操作,其中 NewTask 不是当前正在执行的任务:

private class OlderTask extends AsyncTask<String, Void, Integer> {
//other functions (not important)

@Override
protected void onPostExecute(Integer result) {
new NewTask().execute(null, null);
}
}

我想知道这是否是个坏主意。这样做会不会导致OlderTask的GC等待NewTask?使用这种方法还有其他可能的问题吗?

如果这是一个问题,我该如何纠正它?

最佳答案

除非NewTaskOlderTask 中的内部非静态类它不会阻止 GC 收集 OlderTask除非您以其他方式存储对它的引用。

但是即使GC也会等到NewTask完成这应该没什么大不了的,除非你在 OlderTask 中保存了大量数据。或创建大量 OlderTask 的副本.

因此,如果您的设计需要这样做,那也没关系。但是没有链式任务肯定更干净。

关于Android AsyncTask 启动另一个 AsyncTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400810/

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