Memory leaks with IE6 + Jquery 1.4.2 + JqueryUI 1.8.1

Dear Experts,

It seems we hit huge memory leaks with our web application, one request may cost 1-2M memory.

1.analysis with IEJSLeaksDetetor
 IEJSLeaksDetetor a.Refer to the document tree, it seems the JS files had been load repeatedly?

2.analysis with sIEve
 sIEve -memory usage sIEve 2
any suggestion?
thank you very much.
whbcnAsked:
Who is Participating?
 
darren-w-Commented:
Try running $("#DB_editCollInfoBtn") in a console (firebug/Chrome element inspector) and see what it brings back, in theory if its a id there should be only one item of this type, is this the case?

if not the id should be changed to a class and then look to using an each method to go through the items.

Another thing to look at is if the page is valid using this validator http://validator.w3.org/, copy the displayed source into it, as if this could be causing problems too...

Also validate the css using the css validator of the same site.

Darren
0
 
darren-w-Commented:
Hi,

You may have a infinite loop, need to analyse the source and isolate sections of it to identify what is causing the problem?

Darren
0
 
whbcnAuthor Commented:
I update the JqueryUI with the latest version(1.5.1 + 1.8.11), and use IEJSLeaksDetetor to analysis again, it seems every Dom with event caused memory leaks.

The IEJSLeaksDetetor  show most memory leaks caused by below code:

elem.attachEvent( "on" + type, eventHandle )
Jquery.js
if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
                              // Bind the global event handler to the element
                              if ( elem.addEventListener ) {
                                    elem.addEventListener( type, eventHandle, false );

                              } else if ( elem.attachEvent ) {
                                    elem.attachEvent( "on" + type, eventHandle );
                              }
                        }
0
 
whbcnAuthor Commented:
We just using Jquery in the very simple way. Mostly like :

$("#DB_editCollInfoBtn").click(function(){
   ......
}

We have not found a infinite loop yet.
Any other idea?  It seems that the events have not been unbind or removed.
0
 
whbcnAuthor Commented:
In Chrome, it shows as below:
---------------------------------------------------------
top.right.document.getElementById("back")
HTMLButtonElement
----------------------------------------------------------
The application uses frame tag for a layout. the frame parts in "menu domain" and "the contents domain". even I just click the menu n "menu domain"(Response to "the contents domain"), the sIEve show leaks.
So is it some issue about the frame?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.