Toon posts:

[js] geheugen loopt vol

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende probleem, een interactieve applicatie in javascript/dhtml/mshtml. Er zitten nogal veel iframe's in die geladen worden, weggehaald etc.
Als ik zo'n iframe remove uit mijn document, dan blijft het geheugen die dat iframe in gebruik had gewoon vol staan. Dir resulteert in een zwaar trage pc als er even rondgefietst wordt.

Is er een manier om de garbage collector een seintje te geven en te zeggen dat hij die opjecten(waar geen pointers meer naar bestaan) uit het geheugen mag halen? Het hoeft alleen in IE te werken.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:41

crisp

Devver

Pixelated

Je kan voor zover ik weet de garbage collector niet forceren; ik heb gemerkt dat IE na zo'n 2 minuten meestal wel weer geheugen vrijgeeft. Mozilla blijft wat dat betreft echter een zorgen-kindje....

Intentionally left blank


  • [eNeRGy]
  • Registratie: November 1999
  • Laatst online: 24-04-2025
In IE kan je wel de garbage collector aanroepen, echter heeft het geen effect (bij IE 6.0 SP1 iig).

  • akakiwi
  • Registratie: September 2000
  • Laatst online: 20-03 11:13

akakiwi

I believe in the ruling class.

Waarom wil je je IFRAMES weghalen en inladen??
Is het niet veel makkelijker om de SCR van het object te wijzigen??

[ Voor 0% gewijzigd door akakiwi op 24-10-2002 07:06 . Reden: spelvout ;) ]

| Life is a game (and games are fun) | homepage |


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Lijkt me ook meer een probleem van inefficiente code dan van een probleem van de garbagecollector ;)

En hoe zit het overigens als je objecten expliciet de null-waarde geeft? Dit werkt namelijk wel bij geheugen-problemen met Mac-IE met zelfgemaakte objecten.

Verwijderd

Topicstarter
Bosmonster schreef op 24 oktober 2002 @ 09:39:
Lijkt me ook meer een probleem van inefficiente code dan van een probleem van de garbagecollector ;)

En hoe zit het overigens als je objecten expliciet de null-waarde geeft? Dit werkt namelijk wel bij geheugen-problemen met Mac-IE met zelfgemaakte objecten.
Nee, want het is een soort desktop...

Als je het object gelijk maakt aan null geeft hij hem niet vrij. Het geheugen wat de inhoud van iframe bewaart, wordt niet vrijgegeven. De rest kan ik niet controleren omdat dat maar een paar bytes zijn. Ik doe trouwens eerst object.removeNode(true); je zou verwachten dat dan alles weggaat.

Maar ik denk de oplossing te hebben, door de src van het iframe eerst te setten in een lege string. Op dat moment released hij het geheugen wat de inhoud van het iframe bewaart. Dus je doet eerst object.src = ""; en dan object.removeNode(true);.

  • [eNeRGy]
  • Registratie: November 1999
  • Laatst online: 24-04-2025
Verwijderd schreef op 24 oktober 2002 @ 12:18:
[...]
Maar ik denk de oplossing te hebben, door de src van het iframe eerst te setten in een lege string. Op dat moment released hij het geheugen wat de inhoud van het iframe bewaart. Dus je doet eerst object.src = ""; en dan object.removeNode(true);.
'about:blank' is hier een goede pagina voor :)

Verwijderd

Topicstarter
[eNeRGy] schreef op 24 oktober 2002 @ 13:57:
[...]


'about:blank' is hier een goede pagina voor :)
thanks, had ik nog niet aan gedacht... ik dee nu dus src="", maar dan gaat ie waarschijnlijk wel ergens naar zoeken.

Verwijderd

Topicstarter
[eNeRGy] schreef op 23 oktober 2002 @ 23:51:
In IE kan je wel de garbage collector aanroepen, echter heeft het geen effect (bij IE 6.0 SP1 iig).
Hoe kan je dat dan doen? Ok, het mag dan wel geen zin hebben, maar ben er gewoon benieuwd naar...
Pagina: 1