On 1/8/11, Bryan Forbes <[email protected]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 1/8/11 2:47 AM, Garrett Smith wrote: >> On 1/7/11, Bryan Forbes <[email protected]> wrote: >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> >>> On 1/6/11 5:04 PM, Garrett Smith wrote: >>>> AFAIK MSIE closure based memory leaks was addressed in IE6 sp2. >>> >>> Except that IE8 can still leak with ActiveXObjects: >>> >>> http://www.reigndropsfall.net/demos/ie_leak/leak_activexobject.html >>> >> You are using a meta refresh as a test to see if more memory is >> consumed on each refresh? A test for a memory leak must navigate >> between two or more pages. > > If that is true, how do you explain memory consumption increasing as the > page refreshes and it only being freed when the browser (not the tab) is > closed (closing the tab doesn't free the memory)? To me, that > constitutes a memory leak. > Closing the tab does not free up memory? Oh that's no good.
The user continuously reloading the page over and over again sounds like a really uncommon use case. One or two refreshes is plausible and closing a tab is definitely a common case. These should not create problems. [...] > > This site also says: [...] > and: > > "In Internet Explorer 8, the JScript garbage collector treats DOM > objects referenced by JScript objects as JScript objects. Rather than > wait until page navigation as in Internet Explorer 7 or process > termination as in Internet Explorer 6, the garbage collector manages the > lifetime of these DOM objects and breaks circular references whenever > possible throughout the lifetime of the site." > > So, it would seem that the IE8 GC should be cleaning up DOM objects all > the time; this is proven by my DOM leak tests that only leak in an > unpatched IE6. However, the MSDN article says nothing about > ActiveXObjects, which is what the link I gave you is testing. It also > shouldn't matter whether the page is navigated away from or refreshed: > there should be no leak. Remember, I'm referring only to IE8. > OK, right. >> Though if I'm not mistaken, that patch landed in IE6 sp2: >> http://novemberborn.net/2007/06/javascriptmemory-leaks-gone-115 > > That patch may have landed, but has everyone upgraded to SP2? The MSDN > article you linked earlier clearly states: > Pirated versions of Windows might not have SP2. Unless they're disconnected from the net, wouldn't most others have that update? > "Although Web developers should be aware of memory leaks created by use > of programming patterns such as JScript closures in Internet Explorer 7 > and earlier, those patterns no longer result in leaks in Internet > Explorer 8." > > To me, that says that we should still be programming for the leaks that > are present in IE6 and 7 since Microsoft has not announced and EOL for > IE6, let alone IE7. > You've got a point there. -- Garrett -- To view archived discussions from the original JSMentors Mailman list: http://www.mail-archive.com/[email protected]/ To search via a non-Google archive, visit here: http://www.mail-archive.com/[email protected]/ To unsubscribe from this group, send email to [email protected]
