Turkish subtitles

← 04-04 Memory_Leaks

04-04 Memory_Leaks

Get Embed Code
13 Languages

Showing Revision 7 created 01/30/2016 by QA_SP_9_TK.

  1. Objeler oluşturulurken veya
    yok edilirken, Android Java Dili ile
  2. ilgili en iyi şeylerden biri de
    kullanırken çok dikkat etmeniz
  3. gerekmeyen bellek ortamı
    tarafından yönetilmesidir.
  4. Bir yandan bu iyi gözükürken,
    burada yüzey altında
  5. gizlenmiş bazı gizli
    performans problemleri vardır.
  6. Unutmayın, Android çalışırken
    oluşan bellek yığınları
  7. tahsis edilme türüne ve sistemin
    sonraki GC olaylarını nasıl daha iyi
  8. organize edeceğine bağlı olarak
    alanlarda parçalara ayrılır.
  9. Ve her alan kendine ayrılmış
    bellek boyutuna sahiptir.
  10. Objenin birleştirilmiş boyutu
    alandaki, kendi sınırına
  11. ulaşmaya başladığında, çöp toplama
    olayı yer kazanmak için başlatılır
  12. ve gereksiz objeler kaldırılır.
  13. Bu GC olayları, genelde performans
    açısından farkedilen bir problem değildir.
  14. Fakat bunların çoğu defalarca
    tekrar eder ve frame zamanını
  15. diliminizi hızlıca tüketebilir.
  16. Daha fazla GC yapmak için
    zaman harcarsınız
  17. render veya ses yayını gibi şeyleri
    yapmak için daha az zamanınız olur.
  18. Geliştiricilerin genel olarak
    maruz kaldığı ve birçok GC'nin
  19. oluşmasına neden olan şey
    bellek sızıntısı olarak bilinir.
  20. Bellek sızıntısı, uygulamanın artık
    kullanmadığı nesnelerdir ancak
  21. çöp toplayıcısı bunların
    kullanılmadığını fark edemez.
  22. Sonuç olarak yığında hâlâ bekliyorlar
    ve diğer objeler için serbest
  23. bırakılması gereken önemli
    bir alanı kaplıyorlar.
  24. Bellek sızıntısı devam ettikçe
  25. yığın üretimiyle uygun alanlar
    gittikçe küçülmeye devam eder.
  26. Öyle ki bu, normal program yürütmesine
    daha fazla alan açmak için
  27. daha fazla GC'nin daha sık
    yürütüleceği anlamına gelir.
  28. Sızıntıları bulmak ve
    düzeltmek alengirli bir iştir.
  29. Bazı sızıntıları oluşturması kolaydır,
  30. programın kullanmadığı objelere
    döngüsel gönderme yapmak gibi.
  31. Diğerleri o kadar kolay değildir.
  32. Örneğin, yüklenmeleri sırasında
    sınıf yükleyici nesneleri tutmak gibi.
  33. Her iki durumda da, akıcı çalışan
    hızlı bir uygulama, mevcut olan
  34. bellek sızıntılarına karşı
    uyanık ve duyarlı olmalıdır.
  35. Yani, kodunuz bir çok farklı
    aygıt üzerinde
  36. çalışacak ve
  37. hepsi aynı bellek alanına ve
    boyutuna sahip olmayacaktır.
  38. Neyse ki, Android SDK içerisinde
    sızıntıların nerede olabileceğini
  39. görmemize yardımcı olan
    basit bir araç var.
  40. Haydi buna bir bakalım.