Geheugenbeheer
Memory leaks, cleanup, useEffect cleanup, listeners, timers, verwerking van grote afbeeldingen
1Wat is een memory leak in een React Native-applicatie?
Wat is een memory leak in een React Native-applicatie?
Antwoord
Een memory leak treedt op wanneer objecten in het geheugen niet langer door de applicatie worden gebruikt, maar niet door de garbage collector kunnen worden vrijgegeven omdat er nog referenties naar deze objecten bestaan. In React Native gebeurt dit vaak bij niet-opgeruimde subscriptions, timers die na het unmounten nog actief zijn, of closures die verouderde referenties vasthouden. Memory leaks verslechteren de performance geleidelijk en kunnen crashes veroorzaken tijdens lange sessies.
2Wat is de rol van de retourfunctie (cleanup function) in useEffect voor geheugenbeheer?
Wat is de rol van de retourfunctie (cleanup function) in useEffect voor geheugenbeheer?
Antwoord
De cleanup function die door useEffect wordt geretourneerd, wordt uitgevoerd voordat de component wordt unmounted of voordat het effect opnieuw wordt uitgevoerd met nieuwe dependencies. De belangrijkste rol is het opruimen van de door het effect toegewezen resources: subscriptions annuleren, clearTimeout/clearInterval, event listeners verwijderen of lopende verzoeken afbreken. Zonder deze opruiming blijven deze resources in het geheugen bestaan en kunnen ze proberen een unmounted component bij te werken.
3Waarom is het belangrijk om clearTimeout en clearInterval te gebruiken in de useEffect cleanup function?
Waarom is het belangrijk om clearTimeout en clearInterval te gebruiken in de useEffect cleanup function?
Antwoord
Timers die met setTimeout en setInterval zijn aangemaakt, blijven uitvoeren zelfs nadat de component is unmounted. Als de timer-callback probeert de state van een unmounted component bij te werken, activeert dit de waarschuwing 'Can't perform a React state update on an unmounted component' en vormt het een memory leak. De timer houdt een referentie naar de callback en zijn closure vast, waardoor de garbage collector deze resources niet kan vrijgeven. Het gebruik van clearTimeout/clearInterval in de cleanup zorgt voor het correct annuleren van deze timers.
Hoe voorkom je memory leaks bij het gebruik van event listeners in React Native?
Wat is de impact van closures op het geheugenbeheer in React Native-componenten?
+17 gespreksvragen
Andere React Native-sollicitatieonderwerpen
JavaScript-basis
React-grondbeginselen
React Native-basisbeginselen
React Hooks
TypeScript voor React & React Native
React Native-componenten & API
Styling & Layout in React Native
Navigatie in React Native
State Management in React Native
Networking & API in React Native
Gegevenspersistentie
Formulieren & validatie
React Native-animaties
Native Modules & Bridge
Platformspecifieke code
Permissies & Device API's
Push Notifications
React Native Testing
React Native Debugging
Build & Deployment
Expo vs React Native Bare
Prestatie-optimalisatie
Architecture Patterns
React Native New Architecture
Best Practices voor Beveiliging
Offline-First Architecture
React Native CI/CD
Monorepo & code delen
Geavanceerde onderwerpen
App-levenscyclus & uitvoering op de achtergrond
Authenticatie en sessiebeheer
Monitoring & Crash Reporting
Beheers React Native voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis