Volley isteği yeniden deneme politikası zaman aşımını dikkate almıyor


11

Ben 1500 kurdum initialTimeoutMs içinde DefaultRetryPolicy aşağıdaki gibi fakat zaman aşımı dikkate almaz:

request.setRetryPolicy(new DefaultRetryPolicy(1500
        , DefaultRetryPolicy.DEFAULT_MAX_RETRIES
        , DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

Zaman aşımını test etmek için cihazımdaki Kablosuz bağlantıyı kestim ve şu zamanları Logcat'te gördüm :

2019-12-16 14:28:15.892 I/MyClass: request sent
2019-12-16 14:28:35.930 I/MyClass: request caught onError

1,5 saniye sonra onResponse veya onError yakalamayı beklerken 20 saniyeden fazla sürdü !!!


Geri çekilmeden sonra yeniden deneme mantığı olduğuna inanıyorum. Böylece istek 1,5 saniye sonra zaman aşımına uğrar ve rastgele bir süre sonra yeniden dener. Toplam emekli sayısı DefaultRetryPolicy.DEFAULT_MAX_RETRIES
Abhishek Ranjan

max_tries ve backoff_multiplies için değeriniz nedir?
Karan Khurana

Her ikisinin de varsayılan değerleri vardır. public static final int DEFAULT_MAX_RETRIES = 1; public static final float DEFAULT_BACKOFF_MULT = 1f;
DefaultRetryPolicy.java

Yanıtlar:



0

5 sn kullanın çünkü 15 sn zaman aşımı için daha fazla ..

int TIME_OUT = 500; //use 5 sec it will work fine with it..

request.setRetryPolicy(new DefaultRetryPolicy(
    TIME_OUT, 
    DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
    DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.