React Native

Bellek Yönetimi

Memory leak'ler, cleanup, useEffect cleanup, listener'lar, timer'lar, büyük görsel yönetimi

20 mülakat soruları·
Senior
1

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.

2

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.

3

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.

4

React Native'de event listener kullanırken memory leak'ler nasıl önlenir?

5

Closure'ların React Native bileşenlerinde bellek yönetimi üzerindeki etkisi nedir?

+17 mülakat soruları

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