The purpose of the bigString expando is just to create a huge object and make it easier to spot that there's a memory leak.
Citrus wrote: > > I think that the reloadandbind call may be creating a closure that you're > not intending. But, that's just me looking at the code for 5 minutes, I > might not be seeing it straight. > > Also, it's a bad idea to stick custom js objects onto DOM objects - > specifically "bigString". It causes conflicts between IE's two garbage > collectors. You should create a js object instead that has a DOM element > as a member, and also the custom (bigString) part as a member. > > foo = { para: p.get(0), bigString: ... } > > Lastly, while I don't know what effect this has, I'd say that you > shouldn't be calling "new Array()" if you don't have to. > > I hope that some of this helps. > > - Brian > > >> Thanks for your reply. I downloaded the latest from SVN and built it, but >> I >> still have the same memory leak. Anyhow I still can't figure out where >> the >> memory leak is, I'm not sure if it's my code or jQuery. >> >> >> Brandon Aaron wrote: >>> >>> Please grab the latest from SVN as it fixes the memory leak in IE. >>> >>> -- >>> Brandon Aaron >>> >>> On 12/11/06, Ethan Hannagan <[EMAIL PROTECTED]> wrote: >>>> >>>> Hi, >>>> >>>> Can you help me spot what is causing the memory leak in the following >>>> code? >>>> >>>> If I click "reload", "bind", and "clean" several times, the memory >>>> allocation for IE stays still. >>>> But if I click in the "reload & bind" and then "clean", several times, >>>> the >>>> memory allocation keeps climbing. >>>> >>>> I appreciate any feedback you may have. >>>> >>>> Thanks, >>>> Ethan >>>> >>>> ================================================================= >>>> <html> >>>> <head> >>>> <script type="text/javascript" src="jquery-1.0.3.js"></script> >>>> <meta http-equiv="content-type" content="text/html" /> >>>> <title>IE Memory Leak</title> >>>> </head> >>>> <body> >>>> >>>> <button id="reload">reload</button><br> >>>> <button id="bind">bind</button><br><br> >>>> >>>> <button id="reloadnbind">reload & bind</button><br><br> >>>> >>>> <button id="clean">clean!</button><br> >>>> >>>> <div id="container" style="border:1px solid red"></div> >>>> <div id="counter" style="border:1px solid green"></div> >>>> >>>> <script type="text/javascript"> >>>> var counter = 1; >>>> >>>> function reload(callback){ >>>> $("#container").load("template.html", callback); >>>> } >>>> >>>> function bind(){ >>>> var p = $(this).find("p"); >>>> p.click(function(){}); >>>> p.get(0).bigString = new Array(1000).join(new >>>> Array(1000).join("XXXXX")); >>>> >>>> $("#counter").html(counter++); >>>> } >>>> >>>> $("#reload").click(reload); >>>> $("#bind").click(bind); >>>> $("#reloadnbind").click(function(){ >>>> reload(bind); >>>> }); >>>> >>>> $("#clean").click(function(){ >>>> var p = $("#container").find("p"); >>>> p.unbind(); >>>> p.get(0).onclick = null; >>>> >>>> $("#container").html(""); >>>> }); >>>> </script> >>>> </body> >>>> </html> >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/Memory-leak-tf2792655.html#a7791251 >>>> Sent from the JQuery mailing list archive at Nabble.com. >>>> >>>> >>>> _______________________________________________ >>>> jQuery mailing list >>>> discuss@jquery.com >>>> http://jquery.com/discuss/ >>>> >>> >>> _______________________________________________ >>> jQuery mailing list >>> discuss@jquery.com >>> http://jquery.com/discuss/ >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Memory-leak-tf2792655.html#a7836682 >> Sent from the JQuery mailing list archive at Nabble.com. >> >> >> _______________________________________________ >> jQuery mailing list >> discuss@jquery.com >> http://jquery.com/discuss/ >> > > > > _______________________________________________ > jQuery mailing list > discuss@jquery.com > http://jquery.com/discuss/ > > -- View this message in context: http://www.nabble.com/Memory-leak-tf2792655.html#a7837984 Sent from the JQuery mailing list archive at Nabble.com. _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/