将调用静态函数被覆盖

时间:2017-07-08 15:27:40

标签: java android android-asynctask android-networking rx-java2

我有两个名为 A B 的班级。 类 B 包含一个名为 calculate 的静态函数,它执行异步网络调用并在本地存储它的数据。

我想知道以下代码是否会终止计算功能中的异步任务。

Class A 
{
 B.calculate(); // performs long running async task 
 B.calculate(); // the above call to calculate has not finished but this was called
}

从第一次调用计算开始的异步任务是否会继续执行,还是会被销毁并创建一个新任务 ?

1 个答案:

答案 0 :(得分:0)

不,再次执行AsyncTask不会杀死原始版本。相反,它会向异步任务队列添加一个新任务(因为默认情况下,一次只运行1个异步任务),最终将运行该任务导致第二个网络请求。

(注意:上面假设您创建了AsycTask子类的新实例。如果您尝试再次执行相同的实例,您将获得异常。)