View Full Version : [Javascript] Google Maps e memory leak
orda2000
16-07-2008, 21:02
Ciao a tutti, ho questo piccolo problema.
in una pagina web ci sono 7 embed di google maps.
ogni volta che viene ricaricata la pagina IE occupa 40 mega in più.
ho seguito la loro procedura di utilizzare onunload="GUnload()" ma, con o senza, il risultato non cambia... siccome la query tira fuori circa 100 risultati, se uno deve scorrere tutte le pagine può avere grossi problemi.
dentro la documentazione di google maps ho trovato che bisognerebbe usare la javascript closures che non ho ben capito cosa sia...
qualcuno sa come posso risolvere?
grazie mille
Prova a forzare la garbage collection del javascript a passare
orda2000
17-07-2008, 00:57
Prova a forzare la garbage collection del javascript a passare
il mio problema è proprio questo... come?
Dovrebbe essere con:
CollectGarbage()
Ma non e' detto ovviamente che risolva perche' se ci sono davvero memory leak e' inutile.
C'e' la speranza che la virtual machine del javascript sia un po' pigra...
orda2000
17-07-2008, 01:17
Dovrebbe essere con:
CollectGarbage()
Ma non e' detto ovviamente che risolva perche' se ci sono davvero memory leak e' inutile.
C'e' la speranza che la virtual machine del javascript sia un po' pigra...
non cambia nulla...
non cambia nulla...
Brutto segno :(
Hai provato con Firefox?
orda2000
17-07-2008, 01:28
Brutto segno :(
Hai provato con Firefox?
firefox occupa meno memoria ma comunque aumenta sempre.
comunque ho cannato io una cosa... pensavo che la funzione Gunload() liberasse memoria anche dagli embed invece no. se creo la mappa direttamente tramite codice funziona che è una meraviglia, solo che è un po' una palla.
dovrei trovare il modo di far funzionare meglio quelle cavolo di mootools perchè adesso carico tutte e 7 le mappe, poi tramite fxslide le nascondo subito e le faccio apparire tramite click.
dovrei riuscire a far caricare la mappa solo quando clicco ma non so come fare
orda2000
17-07-2008, 01:31
window.addEvent('domready', function(){
var mySlide1 = new Fx.Slide('mappa1');
mySlide1.hide();
$('map1').addEvent('click', function(e){
e = new Event(e);
mySlide1.toggle();
e.stop();
});
}
questo lo faccio per 7 volte, mentre l'html/php è il seguente
<div id="mappa<?php echo $i?>">
<?php echo $row["maps"]?>
</div>
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.