Skip to content

Remplacement de Glide par un chargeur d'images maison - #76

Open
Spriana wants to merge 1 commit into
FranckRJ:masterfrom
Spriana:test-remove-glide
Open

Remplacement de Glide par un chargeur d'images maison#76
Spriana wants to merge 1 commit into
FranckRJ:masterfrom
Spriana:test-remove-glide

Conversation

@Spriana

@Spriana Spriana commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

On réimplémente Glide et la barre de chargement nous-même, en Kotlin avec coroutines, comme ça toutes ses dépendances sautent.

Android < 9 ne gère pas les GIF animés, donc à la place on utilise un navigateur intégré pour afficher les images. (Toutes les images dans le doute, pas juste celles qui finissent en .gif — tous les .gif ne sont pas animées, et d’autres extensions peuvent potentiellement avoir des animations (APNG, même si je crois pas que NoelShack le gère) — à voir si quelqu’un s’en plaint.)

Il n’y a plus de mise en cache des images, ré-afficher la même image plusieurs fois est minoritaire donc j’ai pas ré-implémenté (et j’ai plus accès à Claude Fable, qui a fait ce taf.)

À part ça le comportement niveau UI est le même, j’aimerais bien mettre un exit de l’aperçu qui suit le swipe du doigt, mais c’est un autre gros changement, pour plus tard (potentiellement).

L'APK release est allégé d'environ 291 Ko.

Suppression de Glide, OkHttp et KSP au profit de ProgressImageLoader, un chargeur sans dépendance basé sur HttpURLConnection (téléchargement avec barre de progression et taille), ImageDecoder (décodage avec sous-échantillonnage à la taille de l'écran) et AnimatedImageDrawable pour les GIF, avec annulation via le lifecycleScope du fragment et image d'erreur en cas d'échec.

Le dialog d'aperçu passe en @RequiresApi(28) ; en dessous d'Android 9 le clic sur une image noelshack bascule sur le navigateur comme auparavant. L'APK release est allégé d'environ 291 Ko et ne contient plus aucune classe Glide ou OkHttp.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant