0
내가 paymentTask
의 onPostExecute
이타이머에 많은 AsyncTask를 실행 (countdowntimer)
public class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
//timeout
}
@Override
public void onTick(long millisUntilFinished) {
PaymentAsyncTask paymentTask = new PaymentAsyncTask(this);
paymentTask.execute();
}
}
같은 CountDownTimer
을 만들었습니다, 나는 일부 특정 조건에 대한 몇 가지 작업을하고있는 중이 야.
기본적으로 일부 웹 사이트에서 몇 시간 간격 (예 : 3 초)이 지나면 작업이 완료되었는지 확인하고 있습니다. 인터넷이 빠르게 실행하는 경우
이제 작업이 완료됩니다 경우, 내가 onPostExecute에서 타이머를 취소하고 내 추가 작업을 할
이 코드에는 문제가 없다.
그러나 인터넷이 onPostExecute
번 이상이라고 응답 3 초에 오지 않는 것을 의미 느린,,, 작업이 이미 완료 동안 (그것은 더 번 이상 내부에서 코드를 실행 )를 실행하는 경우, 그게 바로 내가 서버 문제/인터넷 지연으로 인해 늦게 응답을 가지고.
onPostExecute
내부의 코드가 한 번만 호출되는 것을 어떻게 확인할 수 있습니까?
가능한 접근 방법 :
- 이 일부 정적 플래그 변수를 가지고 사실하고 다른 사람에 확인 ... 내가 신뢰할 수있는 일부 솔루션을 찾고
, 아마 안드로이드가 제공하는 일부 에 대한 메커니즘은이 동기화 .. 감사합니다