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

  • Michael Zhang

    Michael Zhan

    8 EYLÜL 2012
  • RD

    RD

    19 NİSAN 2006
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006