Kom ihåg mig?
Home Menu

Menu


Javascript memory leak

Ämnesverktyg Visningsalternativ
Oläst 2009-07-05, 22:39 #1
Innocast Innocast är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2004
Inlägg: 688
Innocast Innocast är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2004
Inlägg: 688
Hej,

Har ett litet problem med vad som verkar vara en minnesläcka av något slag i ett javascript.

Det "pollar" servern varje sekund och om det kommit ut ny information så hämtar scriptet det (mha jQuery och json) och lägger till en ny div innuti ett element... Vad jag gör är att jag samlar alla "rader" i en javascript array, när den hämtar en/flera nya rader så lägger den till varje rad med en funktion. Den funktionen i sig räknar antalet rader i arrayn, om det är mer än 20 så tar det bort den första i arrayn och även en div med ett visst ID. Se kod nedan:

Kod:
entries.reverse();
var rid = entries.pop();
$('#entry' + rid).remove();
entries.reverse();
När sidan har stått igång och tuggat ett tag så är firefox's minnesanvändning uppe i en 400 mb och hela sajten är seg som sirap. Det enda som löser det är att starta om firefox.

Några tips på vad man kan göra för att förbättra? Och verkligen spola bort datan som man tar bort? Ska man bygga om arrayn när den når ett visst index?
Innocast är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-07-05, 23:42 #2
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Javascript i sig kan inte "läcka" minne eftersom det är automatisk allokering/deallokering. Har du kollat så att du inte instantierar skriptet ånyo varje gång den här sekundtimern tickar, alltså så att du får en ny loop som börjar snurra varje sekund? Det kan lätt hända om man är oaktsam med setTimeout() t.ex.
Perben är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-07-06, 20:27 #3
dAEks avatar
dAEk dAEk är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2006
Inlägg: 678
dAEk dAEk är inte uppkopplad
Mycket flitig postare
dAEks avatar
 
Reg.datum: Dec 2006
Inlägg: 678
Det är ganska lätt att råka ut för minnesläckor om man inte vet vilka mönster man bör akta sig för.

@InnoCast: Kolla om den här artikeln kan vara till nån hjälp: http://www.ibm.com/developerworks/web/libr...ary/wa-memleak/
dAEk är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 17:13.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017