SORU
24 EKİM 2011, PAZARTESİ


Android - bir AsyncTask için bir zaman Aşımı Ayarı?

Bir web sitesindeki verilerin büyük bir liste yükler ben yürütmek AsyncTask bir Dersim var.

Kullanımı sırasında son kullanıcı çok yavaş ya da düzensiz bir veri bağlantısı olması durumunda, bir süre sonra AsyncTask zaman aşımı yapmak istiyorum. Bu benim ilk yaklaşım gibi

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, yeni bir işleyici işe başladıktan sonra, Eğer hala çalışıyorsa 30 saniye sonra AsyncTask iptal edecektir.

Bu iyi bir yaklaşım mı? Yoksa daha iyi bu amaç için uygun bir şey AsyncTask yerleşik?

CEVAP
24 EKİM 2011, PAZARTESİ


Evet, AsyncTask.get() var

myDownloader.get(30000, TimeUnit.MILLISECONDS);

Ana konuyu bu (AKA. arayarak unutmayın İplik UI) yürütme engeller, muhtemelen ayrı bir konu onu aramak lazım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • ICON

    ICON

    19 EKİM 2011
  • Tina Chen

    Tina Chen

    26 Mayıs 2012