Glide image loading timeout increase
Estoy utilizando glide para cargar imágenes de la URL. Mientras busco las imágenes que estoy mostrando un cargador en la vista de imagen. Algunas de las imágenes que se obtienen son más grandes y por lo tanto, en tiempo de conexión lenta de Internet se produce y lanza excepción
¿Cómo puedo aumentar el tiempo de espera?
- Hora del reloj Android GMT
- Problema extraño con los tiempos de espera de conexión y Google Volley
- Android - los cálculos con el tiempo transcurrido en el cronómetro
- Static static String definida en una interfaz no evaluada en tiempo de compilación - Android
- Acelerar el tiempo del emulador de Android
- Cómo obtener el tiempo de computación en NDK
- Android startService () tarda mucho tiempo en volver al subproceso de interfaz de usuario
- Androide; Msgstr "Se ha agotado el tiempo de envío de claves ..."
- ¿Cómo puedo obtener el tiempo de "red" (desde el ajuste "Automático" llamado "Usar valores proporcionados por la red"), NO el tiempo en el teléfono?
- Cómo dar formato al tiempo no fecha en Android o Java?
- ¿Cómo se puede comprobar el permiso en tiempo de ejecución sin lanzar SecurityException?
- Hora del formato de la clase de tiempo de Android
- ¿Cómo cambiar el nombre de la aplicación de Android y el icono en tiempo de ejecución?
Después de buscar mucho finalmente obtuvo una respuesta, si está utilizando volea:
public class CustomGlide implements GlideModule { @Override public void applyOptions(Context context, GlideBuilder builder) { } @Override public void registerComponents(Context context, Glide glide) { RequestQueue queue = new RequestQueue( // params hardcoded from Volley.newRequestQueue() new DiskBasedCache(new File(context.getCacheDir(), "volley")), new BasicNetwork(new HurlStack())) { @Override public <T> Request<T> add(Request<T> request) { request.setRetryPolicy(new DefaultRetryPolicy(10000, 1, 1)); return super.add(request); } }; queue.start(); glide.register(GlideUrl.class, InputStream.class, new VolleyUrlLoader.Factory(queue)); } }
Cambie la DefaultRetryPolicy
según su necesidad
Y en el manifiesto:
<meta-data android:name="<package-name>.CustomGlide" android:value="GlideModule" />
Si desea utilizar OkHttp
, por favor importar glide:okhttp-integration
acuerdo a esto , y luego aplicar su propio OkHttpGlideModule
:
public class CustomGlideModule extends OkHttpGlideModule { @Override public void applyOptions(Context context, GlideBuilder builder) { // stub } @Override public void registerComponents(Context context, Glide glide) { final OkHttpClient.Builder builder = new OkHttpClient.Builder(); // set your timeout here builder.readTimeout(30, TimeUnit.SECONDS); builder.writeTimeout(30, TimeUnit.SECONDS); builder.connectTimeout(30, TimeUnit.SECONDS); glide.register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(builder.build())); } }
- Eliminar una cadena en todos los idiomas Android
- Moviendo el proyecto de Android / Eclipse a una nueva PC