Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo optimizar la red de cola de tomar en android Volley? (Volley Google IO 2013)

A continuación se muestra una instantánea de los registros de Volley para una solicitud de imagen. Casi la mitad del tiempo de procesamiento se debe a la cola de red-tomar. Otra es aún más dramáticamente alta, la mayor parte del tiempo en la cola de la red de tomar. ¿Cómo se puede optimizar para que la toma de colas en la red sea más rápida? ¿Qué determina (aparte de la prioridad de hilo, las solicitudes de imagen son por defecto las peticiones de prioridad LOW), la velocidad de la cola de red-tomar?

Nota: He funcionado esto en Samsung Galaxy S4.

08-07 11:01:09.560: D/Volley(938): [1] MarkerLog.finish: (3662 ms) [ ] http://farm6.static.flickr.com/5487/9452149004_c4ba6d2d97_t.jpg 0x8da7e4ac LOW 84 08-07 11:01:09.560: D/Volley(938): [1] MarkerLog.finish: (+0 ) [ 1] add-to-queue 08-07 11:01:09.565: D/Volley(938): [1] MarkerLog.finish: (+0 ) [12239] cache-queue-take 08-07 11:01:09.565: D/Volley(938): [1] MarkerLog.finish: (+0 ) [12239] cache-miss 08-07 11:01:09.570: D/Volley(938): [1] MarkerLog.finish: (+1694) [12243] network-queue-take 08-07 11:01:09.570: D/Volley(938): [1] MarkerLog.finish: (+1852) [12243] network-http-complete 08-07 11:01:09.570: D/Volley(938): [1] MarkerLog.finish: (+50 ) [12243] network-parse-complete 08-07 11:01:09.575: D/Volley(938): [1] MarkerLog.finish: (+21 ) [12243] network-cache-written 08-07 11:01:09.575: D/Volley(938): [1] MarkerLog.finish: (+0 ) [12243] post-response 08-07 11:01:09.580: D/Volley(938): [1] MarkerLog.finish: (+45 ) [ 1] done 

Aquí hay otro que toma aún más:

 08-07 11:01:09.845: D/Volley(938): [1] MarkerLog.finish: (3871 ms) [ ] http://farm3.static.flickr.com/2827/9451437485_921584cdea_t.jpg 0x24a8bf69 LOW 85 08-07 11:01:09.860: D/Volley(938): [1] MarkerLog.finish: (+0 ) [ 1] add-to-queue 08-07 11:01:09.865: D/Volley(938): [1] MarkerLog.finish: (+1 ) [12239] cache-queue-take 08-07 11:01:09.870: D/Volley(938): [1] MarkerLog.finish: (+0 ) [12239] cache-miss 08-07 11:01:09.870: D/Volley(938): [1] MarkerLog.finish: (+2543) [12242] network-queue-take 08-07 11:01:09.875: D/Volley(938): [1] MarkerLog.finish: (+1280) [12242] network-http-complete 08-07 11:01:09.880: D/Volley(938): [1] MarkerLog.finish: (+26 ) [12242] network-parse-complete 08-07 11:01:09.885: D/Volley(938): [1] MarkerLog.finish: (+14 ) [12242] network-cache-written 08-07 11:01:09.885: D/Volley(938): [1] MarkerLog.finish: (+0 ) [12242] post-response 08-07 11:01:09.890: D/Volley(938): [1] MarkerLog.finish: (+7 ) [ 1] done 08-07 11:01:09.905: D/dalvikvm(938): GC_CONCURRENT freed 973K, 11% free 14796K/16583K, paused 12ms+6ms, total 56ms 

One Solution collect form web for “¿Cómo optimizar la red de cola de tomar en android Volley? (Volley Google IO 2013)”

La toma de cola de red toma tiempo porque tiene un gran número de solicitudes en ejecución. Si tiene 4 subprocesos en ejecución y 8 solicitudes, digamos que todas las primeras solicitudes toman exactamente 500ms. Entonces, la espera de cola de red para las solicitudes restantes será de 500ms, ya que esperó 500ms para obtener un lugar en la cola.

Puedes "eliminarlo" creando un RequestQueue con un valor mayor que defualt DEFAULT_NETWORK_THREAD_POOL_SIZE, pero ten en cuenta que el valor predeterminado existe por un motivo. Si, por ejemplo, descarga 20 imágenes al mismo tiempo, puede ejecutar las condiciones de OOM. Sin embargo, si tiene un gran número de peticiones de memoria baja y de latencia defectuosa, aumentarla debería ayudar a su rendimiento sin que se arriesgue a las condiciones.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.