Bir öğeye olay kaydetmek için addEventListener kullanırsam, olayı kaldırmadan öğeyi silin ve bunu tekrar tekrar yaptığımda bellek sızıntısı oluşturabilir miyim?javascript addEventListener bellek sızıntısı sorusu
cevap
Sızıntı yapmamalı. Bir olay işleyicisi bir ana makine tanıtıcısına neden olduğunda cehennem gibi sızıntı yapan bir tarayıcı <> JS nesnesi döngü IE'dir (sürüm 7'ye kadar) ve IE (sürüm 8'e kadar) addEventListener
'u desteklemez.
Belirli bir tarayıcıda test etmek istiyorsanız, bu koşuyu açık bırakın ve tarayıcının bellek kullanımının uzun vadede nasıl etkilendiğini görün.
<div id="x"></div>
<script type="text/javascript">
function replace() {
var x= document.getElementById('x');
if (x.firstChild!==null)
x.removeChild(x.firstChild);
var el= document.createElement('p');
el.addEventListener('click', click, false);
x.appendChild(el);
}
function click() {
alert('click');
};
setInterval(replace, 1);
</script>
(replace
vücuda function click
tanımını yukarı taşımak, bir referans döngü varken bunu test etmek için.) DOM, dinleyicileri eklenmiş elementlerden silerseniz bellek sızıntısı alacak
. Ancak bu sadece IE, Fx ve diğerleri GC'de gelişmiş. Eğer değil DOM üzerinden DOM unsurları ile manipüle eğer
Genellikle, olur, ancak Örneğin
el.innerHTML = ...
gibi YUI bu durumda bellek sızıntısı önlemek için özel gerçekleşmesini setInnerHTML sahiptir.
- 1. Bellek sızıntısı
- 2. Web İşçi Bellek Sızıntısı?
- 3. Gömülü IronPython Bellek Sızıntısı
- 4. Bellek Sızıntısı KeychainItemWrapper
- 5. bellek sızıntısı - sinyal 9
- 6. Varlık Çerçevesi Bellek Sızıntısı
- 7. Java String.split bellek sızıntısı?
- 8. iOS7 UIWebView Bellek sızıntısı
- 9. JDK1.7 ClassLoader Bellek Sızıntısı
- 10. KnockoutJS Bellek Sızıntısı
- 11. Java'da bellek sızıntısı ImageIO.read()
- 12. Bellek sızıntısı socket.io + node.js
- 13. Yönetilmeyen Bellek sızıntısı
- 14. JNI NewByteArray bellek sızıntısı
- 15. CMSampleBufferDaha fazla bellek sızıntısı
- 16. nodejs setTimeout bellek sızıntısı?
- 17. MapKit'teki Bellek Sızıntısı iOS8
- 18. Bellek sızıntısı var mı?
- 19. SharePoint bellek sızıntısı
- 20. JAXBContext.newInstance bellek sızıntısı
- 21. Bellek sızıntısı Sonlandırıcı hatası
- 22. CheckedListBox bellek sızıntısı
- 23. VB'de bellek sızıntısı
- 24. Fabrika kalıbı, bellek sızıntısı
- 25. Bellek için bellek sızıntısı döngüde mi?
- 26. Scala'da bellek sızıntısı var ve
- 27. Bellek sızıntısı ile ilgili sorunlar
- 28. Benzersiz_ptr'de bellek sızıntısı olacak mı?
- 29. COM bellek sızıntısı nasıl izlenir
- 30. SBJson - bellek sızıntısı var mı?