(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
![]() |
|
Alati teme | Način prikaza |
![]() |
#1 |
Domagoj Horvat
Expert
|
![]() googlam i ne mogu naci nista smisleno...
brise li browser sve eventListenere koji su zakaceni na DOM elemente trenutkom kada odemo sa konkretne stranice ili ih je na unload potrebno rucno maknut? moze li netko ukratko, kako radi taj mehanizam?
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
![]() |
![]() |
![]() |
#2 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() Ne razumem baš. Laganim testom ...
Kôd:
window.addEventListener ('load', function () {alert ('\'elo wrld');}, false); Čak i da browser ne briše listenere, oni bi ostali da vise negde u memoriji jer ne postoje više objekti za koje bejahu kačeni. Ako je u pitanju baš frka do memorije, onda ne znam... |
![]() |
![]() |
![]() |
#3 |
Domagoj Horvat
Expert
|
![]() da, mozda sam bio nejasan...
pitanje je vezano uz memoriju, naravno...
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
![]() |
![]() |
![]() |
#4 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
![]() |
![]() Javi ako naiđeš na nešto.
Vidim da je praksa - 'memorija je sve jeftinija, ko će još da se zamara i da pravi Garbage Collector' - bruka je koliko recimo firefox odlomi memorije, to je ipak 'samo' browser. |
![]() |
![]() |
![]() |
#5 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
![]() ![]() |
![]() IE ima problem sa memory leak kada se radi sa listenerima, tako da je veoma pametno obrisati sve listenere pre odlaska sa stranice. FF navodno nema ovih problema, mada neskodi ovu praksu preneti i na FF.
Navescu ti primer kako se ovo resava pomocu prototype api: Event.observe(window, "unload", Event.unloadCache, false); |
![]() |
![]() |
![]() |
#6 |
Domagoj Horvat
Expert
|
![]() evo dva izvora koja mi se cine ok:
http://www-128.ibm.com/developerwork...ry/wa-memleak/ http://msdn.microsoft.com/library/de...k_patterns.asp poanta je da treba pazit na memory leaks, dakle na situacije u kojima reference count garbage colletion engine (koji kupi objekte sa 0 referenci) ne moze pokupit objekte (situacija kad 2 objekta referenciraju jedan drugi, a nitko na njih i oni na nikog drugog). u tom slucaju, gc ne moze oslobodit memoriju. kako se cini, eventListeneri (pozvani npr. sa closure funkcijama) samo su jedan od slucajeva memory leaka
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
![]() |
![]() |
![]() |
#7 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
![]() ![]() |
![]() Upravo tako, javascript ima na izobilje nacina da izazove memory leaks.
Izmedju ostalog zato je pametno koristiti neki od 3, po meni, vodeca frameworka (jquery, moo i prototype). Jako je tesko pratiti i imati na umu sve potencijalne probleme koji se mogu napraviti (u nedostatku boljeg termina) "ne razumnim" pisanjem js koda. Sva tri frameworka sa sobom nose mnogo nacina da se ovakvi problemi izbegnu, kao i detaljnu dokumentaciju u kojoj se mogu naci i upozorenja ovog tipa. |
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Pubicilicis i second life | torbica | Marketing i SEO | 2 | 09. 11. 2007. 09:20 |
PHP 4 end of life announcement | dinke | PHP | 7 | 16. 07. 2007. 18:28 |