Uygun şekilde atık toplanmayan nesneleri bulmak ve belleği korumaya devam etmek için ayırma profili aracını kullanın.
Aracın işleyiş şekli
Ayırma profili oluşturucu, yığın profili oluşturucunun ayrıntılı anlık görüntü bilgilerini Zaman Çizelgesi panelinin artımlı güncellemesi ve izlemesiyle birleştirir. Bu araçlara benzer şekilde, nesnelerin yığın tahsisini izlemek için bir kayıt başlatılır, bir dizi işlem gerçekleştirilir ve ardından analiz için kaydı durdurulur.
Araç, kayıt boyunca düzenli aralıklarla (50 ms'de bir!) yığın anlık görüntüleri ve kaydın sonunda son bir anlık görüntü alır.
Tahsis profili oluşturucuyu etkinleştir
Tahsis profili oluşturucuyu kullanmaya başlamak için:
- Chrome Canary'nin en son sürümüne sahip olduğunuzdan emin olun.
- Geliştirici Araçları'nı açın ve sağ alttaki dişli simgesini tıklayın.
- Şimdi, Profil Aracı panelini açın. "Kayıt Yığın Atamalarını Kaydet" adlı bir profil göreceksiniz.
Yığın ayırma profilini okuma
Yığın ayırma profili, nesnelerin nerede oluşturulduğunu gösterir ve tutma yolunu tanımlar. Aşağıdaki anlık görüntüde, üstteki çubuklar yığında yeni nesnelerin bulunduğu zamanı gösterir.
Her çubuğun yüksekliği, son ayrılan nesnelerin boyutuna karşılık gelir ve çubukların rengi, bu nesnelerin son yığın anlık görüntüsünde hâlâ yayında olup olmadığını gösterir. Mavi çubuklar, zaman çizelgesinin sonunda hâlâ canlı olan nesneleri gösterir. Gri çubuklar, zaman çizelgesi sırasında ayrılan ancak o zamandan beri çöp toplanmış olan nesneleri gösterir:
Aşağıdaki anlık görüntüde bir işlem 10 kez gerçekleştirilmiştir. Örnek program beş nesneyi önbelleğe aldığı için son beş mavi çubuğun olması beklenir. Ancak en soldaki mavi çubuk olası bir sorunu gösterir.
Ardından, söz konusu anlık görüntüyü yakınlaştırmak ve o noktada yakın zamanda ayrılmış nesneleri görmek için yukarıdaki zaman çizelgesinde yer alan kaydırma çubuklarını kullanabilirsiniz:
Yığındaki belirli bir nesne tıklandığında, yığın anlık görüntüsünün alt kısmında tutma ağacı gösterilir. Nesnenin tutma yolunu incelemek, nesnenin neden toplanmadığını anlamanız için size yeterli bilgi sağlamalıdır. Böylece gereksiz referansı kaldırmak için gerekli kod değişikliklerini yapabilirsiniz.
İşleve göre bellek ayırmayı görüntüle
JavaScript işlevine göre bellek ayırmayı da görüntüleyebilirsiniz. Daha fazla bilgi için İşleve göre bellek ayırmayı inceleme bölümüne bakın.