ios uitableview uicollectionview lazy-loading sdwebimage

ios - ¿SDWebImage es compatible con "no-cuando-rápido-desplazamiento"(skimming) para la carga lenta?



uitableview uicollectionview (1)

Al hacer la carga diferida (tabla de UICollectionView),

para obtener un resultado correcto, NO debe comenzar a descargar, cuando el usuario se desplaza rápidamente por la colección.

Entonces, imagine un rollo vertical con 200 paneles cada uno con una imagen; cuatro o cinco se ven en pantalla a la vez.

Cuando se carga por primera vez, las primeras 4 imágenes visibles deberían comenzar a cargarse. Si se desplaza un poco hacia abajo, las imágenes recién visibles deberían comenzar a cargarse.

PERO si el usuario: se desplaza muy rápidamente hacia (por ejemplo) la posición 100 y luego coloca la vista mostrando los elementos 100-104 ... idealmente NO DEBERÍA comenzar a cargar las imágenes que el usuario "rozó" muy rápidamente (digamos, 4 a través de 99), solo debe iniciar las descargas cuando el usuario deja de desplazarse muy rápido y aparentemente se detiene o se ralentiza en algunas imágenes.

Por lo tanto, esto es algo estándar que tienes que hacer en cualquier desplazamiento de carga lenta de alta calidad. No comienzas a cargar cuando el usuario está rozando.

Mi pregunta es simple: ¿SDWebImage apoya este concepto? Si no, ¿hay otro enfoque popular listo para usar? Aclamaciones


No es compatible, porque generalmente es una categoría en una vista de imagen, pero sería bastante sencillo agregar la habilidad usted mismo.

Suponiendo que estaba iniciando la carga de la imagen en cellForItem... , agregaría un despacho después del bloque que solo iniciaría la carga si la misma celda todavía tuviera la misma ruta de índice después de, digamos, 0.2 segundos.

Verificaría si tuvieras un problema medible antes de hacer cualquier cosa, AFAIK SDWebImage (y definitivamente la categoría de visualización de imágenes AFNetworking) cancelará cualquier solicitud de URL pendiente cuando se reciba una nueva, por lo que podrías estar haciendo una optimización innecesaria.