AsyncTaskBir web sitesinden büyük bir veri listesi indiren yürüttüğüm bir sınıfım var.
Son kullanıcının kullanım sırasında çok yavaş veya kesintili bir veri bağlantısına sahip olması durumunda, AsyncTaskzaman aşımını bir süre sonra yapmak istiyorum . Buna ilk yaklaşımım şöyle:
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 );
Başladıktan sonra AsyncTask, AsyncTaskhala çalışıyorsa 30 saniye sonra iptal edecek yeni bir işleyici başlatılır .
Bu iyi bir yaklaşım mı? Yoksa AsyncTaskbu amaca daha uygun yerleşik bir şey var mı?