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

  • ibebrent

    ibebrent

    23 Temmuz 2007
  • manadude21

    manadude21

    11 Mart 2008
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011