【发布时间】:2015-05-02 16:37:49
【问题描述】:
我正在尝试按顺序执行相同的 Asynctask。例如,假设有一个 Asynctask A。现在假设 A 检查某个服务器是否繁忙。如果它很忙,它会再次检查......等等。假设它检查了 5 次,然后让用户知道该服务不可用。
所以显然可以使用相同的 Asynctask。
尝试使用循环来实现它可能会产生意想不到的结果,因为根据这个
link,
Asynctask 是一种即发即弃的实例,AsyncTask 实例只能使用一次。。
所以循环 5 次意味着 Asynctask 将被调用 5 次。但是如果服务器在第二次尝试时是空闲的,我不需要额外的检查。 android应用程序也可能挂起(我的)。如果我在这个话题上错了,请纠正我。
答案也是“calling task like new MyAsyncTask().execute("");”
所以如果我喜欢这样——例如,
new someAsyncTask() {
@Override
protected void onPostExecute(String msg) {
new someAsyncTask() {
@Override
protected void onPostExecute(String msg) {
....and so on 5 times.
}
}.execute(this);
}
}.execute(this);
应该依次调用5次,应该没有问题。
这是执行此操作的唯一方法还是存在任何其他解决方案?
【问题讨论】: