Glide: wat is het, afbeeldingenbibliotheek en toepassing in Android

Auteur: IT Sectr Gepubliceerd: 2026-05-05 Leestijd: 8 min

Glide — is een bibliotheek voor het laden van afbeeldingen in Android, ondersteund door Google via het Bumptech-project. De bibliotheek zorgt voor efficiënt laden van afbeeldingen, GIF-animaties en videoframes met automatisch geheugenbeheer. Volgens gegevens van het GitHub-repository van Glide, wordt het project gebruikt door meer dan 200.000 apps. Glide wordt door Google aanbevolen als de voorkeursbibliotheek voor het laden van grafische afbeeldingen in Android.

Belangrijkste punten

  • Glide — bibliotheek voor het laden van afbeeldingen van Google met ondersteuning voor GIF en videoframes
  • Caching op drie niveaus: geheugen, schijf en actieve bronnen voor maximale snelheid
  • Levenscyclus — Glide onderbreekt automatisch verzoeken bij pauzeren van Activity
  • GIF en geanimeerde WebP worden uit de doos ondersteund zonder extra plug-ins
  • Thumbnail maakt het mogelijk eerst een verkleinde versie te tonen, daarna de volledige

Wat is Glide?

Glide — is een bibliotheek voor het snel en efficiënt laden van afbeeldingen, geanimeerde GIFs en videoframes in Android-applicaties. Het project wordt ontwikkeld door Bumptech onder de vleugels van Google en wordt veel gebruikt in officiële Google-applicaties.

De interne architectuur van Glide is gebaseerd op een componentgerichte aanpak: Engine beheert de uitvoering van verzoeken, DecodeJob zorgt voor decodering en ResourceDecoder zet ruwe gegevens om in Bitmap of Drawable. Elke fase kan worden aangepast via modules en registers, wat Glide een uiterst flexibele bibliotheek maakt voor niet-standaard afbeeldingsformaten.

In tegenstelling tot veel concurrenten is Glide vanaf het begin ontworpen met het oog op de specifieke kenmerken van Android: de levenscyclus van Activity en Fragment, schermrotaties, configuratiewijzigingen. De bibliotheek onderbreekt en hervat automatisch het laden afhankelijk van de status van het component.

Volgens Android Developers is Glide de aanbevolen bibliotheek voor het laden van afbeeldingen in de officiële Google-documentatie. Het wordt gebruikt in Google Play, Google Maps en andere producten van het bedrijf, wat de betrouwbaarheid en prestaties bevestigt.

Het belangrijkste verschil van Glide met alternatieven — het automatisch schalen van afbeeldingen naar de grootte van ImageView. Als Picasso de afbeelding in volledige resolutie laadt en vervolgens schaalt, decodeert Glide het bestand direct in de benodigde grootte. Dit vermindert het piekgeheugengebruik en versnelt de weergave in lijsten met verschillende celgroottes.

Belangrijkste functies van Glide

Glide biedt een breed scala aan functies voor het werken met afbeeldingen, dat zowel eenvoudige als complexe scenario's voor het laden van inhoud dekt.

Ondersteuning voor GIF en geanimeerde WebP

GIF en geanimeerde WebP worden door Glide net zo eenvoudig geladen en weergegeven als statische afbeeldingen. De bibliotheek detecteert automatisch het formaat op basis van het MIME-type en decodeert de animatie, waarbij de frames op de achtergrond worden weergegeven. Voor het beheren van de afspeling zijn de methoden asGif en asBitmap beschikbaar.

Integratie met de levenscyclus

Glide koppelt zich automatisch aan de levenscyclus van Activity, Fragment en View. Bij pauzeren van Activity wordt het laden onderbroken, bij vernietiging geannuleerd. Dit voorkomt geheugenlekken en het laden van afbeeldingen voor reeds gesloten schermen. De integratie werkt via ondersteuning van LifecycleOwner.

Videoframes laden

Glide kan frames uit video halen via URL of lokaal pad. Hiervoor wordt de methode asBitmap() gebruikt in combinatie met load() voor video-URI. Glide selecteert automatisch het sleutelframe of het frame op een opgegeven tijdstip. Dit is handig voor het tonen van videovoorvertoningen.

Genereren en configureren van GlideApp

GlideApp — is een gegenereerde klasse die een uitgebreide API biedt op basis van de AppGlideModule-configuratie. Hiermee kunnen methoden worden gebruikt die niet beschikbaar zijn in de standaard Glide.with: laden met aangepaste standaardopties, integratie met bibliotheken en vooraf ingestelde transformaties. Voor het genereren is de @GlideModule-annotatie vereist in een klasse die overerft van AppGlideModule.

Hoe werkt Glide?

Glide gebruikt een gelaagde architectuur met engine, decoders, transformaties en cache. Elk verzoek doorloopt een keten van handlers die het laden optimaliseren voor een specifieke ImageView.

Architectuur en pipeline

Bij het aanroepen van into(view) controleert Glide de cache: actieve bronnen, cache in RAM, schijfcache en pas daarna het netwerk. De afbeelding wordt automatisch geschaald naar de grootte van de doel-ImageView, rekening houdend met de schermdichtheid en scaleType. Dit vermindert het geheugengebruik — het belangrijkste voordeel van Glide.

java
Glide.with(context)
    .load("https://example.com/image.jpg")
    .placeholder(R.drawable.loading)
    .error(R.drawable.error)
    .override(400, 300)
    .centerCrop()
    .into(imageView)

Installatie en configuratie van Glide

Installatie van Glide gebeurt via Gradle. De bibliotheek vereist configuratie via AppGlideModule voor het genereren van de API. Minimale Android API-versie — 21.

Afhankelijkheden toevoegen

Voeg in build.gradle Glide toe met de kapt-annotatieverwerker voor het genereren van de GlideApp-API. Gebruik voor Kotlin kapt in plaats van annotationProcessor. Versie Glide 4.16+ werkt stabiel met Android Gradle Plugin 8.x.

groovy
dependencies {
    implementation "com.github.bumptech.glide:glide:4.16.0"
    annotationProcessor "com.github.bumptech.glide:compiler:4.16.0"
}

// Gebruik kapt voor Kotlin
// kapt "com.github.bumptech.glide:compiler:4.16.0"

AppGlideModule maken

AppGlideModule — een verplicht component voor het configureren van Glide. Het maakt het mogelijk om de cachegrootte, aangepaste HttpStack in te stellen en eigen decoders te registreren. De module wordt door Glide gescand bij het opstarten van de app. De @GlideModule-annotatie registreert deze automatisch.

java
@GlideModule
public class MyGlideModule extends AppGlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
        int diskCacheSize = 250 * 1024 * 1024;
        builder.setDiskCache(
            new DiskLruCacheFactory(cacheDir.getPath(), diskCacheSize)
        );
    }
}

Voorbeelden van Glide-gebruik

Voorbeelden hieronder tonen typische scenario's: afbeelding laden, werken met GIF en videoframe extraheren.

Afbeelding laden met placeholder

Basis laden via Glide.with().load().into() — minimale code voor het tonen van een afbeelding van het netwerk. Glide past automatisch de grootte van ImageView aan. Placeholder wordt getoond tijdens het laden, error bij een fout.

java
Glide.with(fragment)
    .load("https://example.com/photo.jpg")
    .placeholder(R.drawable.placeholder)
    .error(R.drawable.error)
    .skipMemoryCache(true)
    .diskCacheStrategy(DiskCacheStrategy.NONE)
    .into(imageView)

GIF-afbeelding laden

GIF wordt net als een statische afbeelding geladen — Glide detecteert automatisch het formaat op basis van het inhoudstype. Gebruik asBitmap() voor geforceerd laden als statische afbeelding en asGif() voor GIF. Glide decodeert alleen de zichtbare frames efficiënt.

java
Glide.with(context)
    .asGif()
    .load("https://example.com/animation.gif")
    .into(imageView)

// Laad het eerste frame van GIF als statische afbeelding
Glide.with(context)
    .asBitmap()
    .load("https://example.com/animation.gif")
    .into(imageView)

Videoframe laden

Videoframe wordt door Glide geëxtraheerd op basis van de URI van een lokale of externe video. Standaard laadt Glide het sleutelframe. Voor het specificeren van een concreet tijdstip wordt frameMillis gebruikt. Dit is handig voor het tonen van voorvertoningen in een videogalerij.

java
String videoUrl = "https://example.com/video.mp4";

Glide.with(context)
    .asBitmap()
    .load(videoUrl)
    .override(200, 200)
    .into(imageView)

Glide optimaliseren voor grote lijsten

Optimalisatie van Glide voor RecyclerView — een kritieke vaardigheid bij het ontwikkelen van apps met veel afbeeldingen. Correcte configuratie voorkomt vertragingen en OOM-fouten.

Een van de belangrijkste functies van Glide — integratie met RecyclerView via RecyclerViewPreloader. Dit component analyseert de scrollsnelheid en bewegingsrichting, en laadt afbeeldingen vooraf die over enkele elementen op het scherm verschijnen. Voor het werken met de preloader moet de PreloadSizeProvider-interface worden geïmplementeerd en worden doorgegeven aan de constructor samen met de doel-ImageView.

Het gebruik van de methode override() met exacte ImageView-afmetingen versnelt het laden aanzienlijk. Wanneer Glide de exacte grootte van het doel kent, kan het de afbeelding direct decoderen in de benodigde resolutie, waarbij de schaalfase wordt overgeslagen. Dit verkort de decoderingstijd en vermindert het piekgeheugengebruik met 30–40%.

Gebruik voor feeds met heterogene inhoud verschillende RequestOptions voor elk type element. Voor grote bannerafbeeldingen kan men bijvoorbeeld override(1200, 600) en RGB_565-kwaliteit instellen, en voor avatars — override(200, 200) en afronding via transform. Deze aanpak maakt optimaal gebruik van bronnen voor elk type inhoud.

Foutafhandeling bij laden

Glide biedt flexibele mogelijkheden voor foutafhandeling via error-afbeeldingen en aangepaste RequestListener. RequestListener maakt het mogelijk te reageren op succesvol laden of fouten, storingen te loggen of analyses te verzenden. Men kan ook een fallback configureren — een afbeelding die wordt getoond wanneer load() null ontvangt in plaats van een link.

Gebruik RecyclerViewPreloader voor het vooraf laden van afbeeldingen voordat de gebruiker ernaartoe scrollt. Glide ondersteunt integratie met RecyclerView via een preloader die de scrollsnelheid analyseert en afbeeldingen vooraf laadt.

Thumbnail-multiplicatie maakt het mogelijk eerst een verkleinde versie van de afbeelding te tonen en vervolgens de volledige te laden. Aanroep thumbnail(0.25f) laadt een versie van 25% grootte, die onmiddellijk wordt weergegeven, terwijl de volledige afbeelding later wordt geladen. Dit creëert het gevoel van onmiddellijk laden.

Gebruik voor lijstadapter .override() met exacte ImageView-afmetingen, zodat Glide de afbeelding niet elke keer hoeft te schalen. Dit vermindert de CPU-belasting en het geheugengebruik. De cachegrootte wordt experimenteel bepaald, maar 250 MB voor de schijf en 20% van het beschikbare geheugen zijn een goed startpunt.

Veelgestelde vragen

Waarin verschilt Glide van Picasso?

Glide ondersteunt GIF, videoframes en geanimeerde WebP. Het beheert geheugen efficiënter en wordt aanbevolen door Google. Picasso is kleiner en eenvoudiger in gebruik. Kies voor complexe projecten Glide.

Hoe koppelt Glide zich aan de levenscyclus?

Glide accepteert LifecycleOwner (Fragment, Activity) of View. De bibliotheek volgt automatisch de status via LifecycleObserver: onderbreekt het laden bij pauze en annuleert bij vernietiging, waardoor lekken worden voorkomen.

Kan ik alleen het eerste frame van een GIF laden in Glide?

Ja, gebruik asBitmap() vóór load(). Glide laadt de GIF als een statische afbeelding en toont alleen het eerste frame. Dit is handig voor lijsten waar GIF-animatie ongewenst is vanwege prestaties.

Hoe beïnvloedt de cache van Glide de prestaties?

De cache van Glide bestaat uit drie niveaus: actieve bronnen (momenteel in gebruik), RAM (LRU-cache) en schijf (LruCache). Afbeeldingen geladen uit de cache worden onmiddellijk weergegeven. De cache wordt automatisch gewist bij geheugentekort.

Hoe stel ik een aangepaste HTTP-client in voor Glide?

Aangepaste HTTP-client wordt geregistreerd via OkHttpUrlLoader in AppGlideModule. Overschrijf registerComponents en registreer uw eigen OkHttpClient. Dit maakt het mogelijk interceptors, certificaten en aangepaste time-outs toe te voegen.

Samenvatting

  • Glide — bibliotheek voor het laden van afbeeldingen van Google met ondersteuning voor GIF en videoframes
  • Drielagige cache zorgt voor directe toegang tot herhaaldelijk geladen afbeeldingen
  • Levenscyclus onderbreekt en annuleert verzoeken automatisch
  • Videoframes worden geëxtraheerd uit lokale en externe video's via asBitmap
  • Thumbnail-multiplicatie versnelt de weergave van afbeeldingen in lijsten
  • Aanbeveling van Google maakt Glide de standaard voor Android-apps
  • RecyclerViewPreloader laadt afbeeldingen vooraf voordat de gebruiker scrollt

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook