PDA

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

gugoXX
16-07-2008, 21:27
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?

gugoXX
17-07-2008, 01:11
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...

gugoXX
17-07-2008, 01:22
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>