AsyncTask
웹 사이트에서 큰 데이터 목록을 다운로드 하는 클래스가 있습니다.
최종 사용자가 사용시 데이터 연결이 매우 느리거나 불안정한 AsyncTask
경우 일정 시간 후에 타임 아웃 을 설정하고 싶습니다 . 이에 대한 나의 첫 번째 접근 방식은 다음과 같습니다.
MyDownloader downloader = new MyDownloader();
downloader.execute();
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run() {
if ( downloader.getStatus() == AsyncTask.Status.RUNNING )
downloader.cancel(true);
}
}, 30000 );
를 시작한 후 AsyncTask
새 핸들러가 시작되어 AsyncTask
아직 실행중인 경우 30 초 후에 취소 됩니다.
이것이 좋은 접근 방식입니까? 아니면 AsyncTask
이 목적에 더 적합한 것이 내장되어 있습니까?