Bellek Yönetimi
Memory leak'ler, cleanup, useEffect cleanup, listener'lar, timer'lar, büyük görsel yönetimi
1React Native uygulamasında memory leak nedir?
React Native uygulamasında memory leak nedir?
Cevap
Memory leak, bellekteki nesneler artık uygulama tarafından kullanılmamasına rağmen bu nesnelere hâlâ referanslar bulunduğu için garbage collector tarafından serbest bırakılamadığında ortaya çıkar. React Native'de bu durum genellikle temizlenmemiş subscription'larda, unmount sonrası hâlâ aktif olan timer'larda veya eski referansları yakalayan closure'larda görülür. Memory leak'ler performansı kademeli olarak düşürür ve uzun oturumlarda crash'lere yol açabilir.
2Bellek yönetimi açısından useEffect içindeki dönüş fonksiyonunun (cleanup function) rolü nedir?
Bellek yönetimi açısından useEffect içindeki dönüş fonksiyonunun (cleanup function) rolü nedir?
Cevap
useEffect tarafından döndürülen cleanup function, bileşen unmount edilmeden önce veya efekt yeni bağımlılıklarla yeniden çalıştırılmadan önce yürütülür. Asıl rolü, efektin ayırdığı kaynakları temizlemektir: subscription'ları iptal etmek, clearTimeout/clearInterval, event listener'ları kaldırmak veya devam eden istekleri iptal etmek. Bu temizlik olmadan bu kaynaklar bellekte var olmaya devam eder ve unmount edilmiş bir bileşeni güncellemeye çalışabilir.
3useEffect cleanup function'ında clearTimeout ve clearInterval kullanmak neden önemlidir?
useEffect cleanup function'ında clearTimeout ve clearInterval kullanmak neden önemlidir?
Cevap
setTimeout ve setInterval ile oluşturulan timer'lar, bileşen unmount edildikten sonra bile çalışmaya devam eder. Timer callback'i unmount edilmiş bir bileşenin state'ini güncellemeye çalışırsa, 'Can't perform a React state update on an unmounted component' uyarısını tetikler ve bir memory leak oluşturur. Timer, callback'e ve closure'una bir referans tutar ve bu da garbage collector'ın bu kaynakları serbest bırakmasını engeller. Cleanup'ta clearTimeout/clearInterval kullanmak, bu timer'ların düzgün şekilde iptal edilmesini sağlar.
React Native'de event listener kullanırken memory leak'ler nasıl önlenir?
Closure'ların React Native bileşenlerinde bellek yönetimi üzerindeki etkisi nedir?
+17 mülakat soruları
Diğer React Native mülakat konuları
JavaScript Temelleri
React Temelleri
React Native Temelleri
React Hooks
React & React Native için TypeScript
React Native Bileşenleri ve API
React Native Stil ve Düzen
React Native Navigasyonu
React Native State Yönetimi
React Native Networking ve API
Veri Kalıcılığı
Formlar ve Doğrulama
React Native Animasyonları
Native Modules & Bridge
Platforma Özel Kod
İzinler ve Cihaz API'leri
Push Notifications
React Native Testing
React Native Hata Ayıklama
Build & Deployment
Expo vs React Native Bare
Performans Optimizasyonu
Architecture Patterns
React Native New Architecture
Güvenlik En İyi Uygulamaları
Offline-First Architecture
React Native CI/CD
Monorepo ve Kod Paylaşımı
İleri Konular
Uygulama Yaşam Döngüsü ve Arka Plan Yürütme
Kimlik Doğrulama ve Oturum Yönetimi
Monitoring & Crash Reporting
Bir sonraki mülakatın için React Native'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla