@Sunil: emh.....yesterday i make deep investigation and seems that garbage is called only after a while infact if i close many things nothing happens but if i wait for about a minute seems that my components are garbaged (sometimes memory decreases about 20megs)... i saw it inside chrome where with task manager i can easily investigate memory footprint of my app. Try to check maybe our problem is not so ugly as it seems ;).
@Carl: thanx for the answer, and yes sources are the only way infact the first thing i have made when i found my leakages is to look at all destroy methods inside gwt-ext sources, in java and javascript....and everything seems fine at a first rapid look... and as you can see from above maybe i was wrong.....and i'm happy of it ;) bye Pat 2009/7/20 Carl <[email protected]> > > Hi, Sanj, > > You don't say why you think that not removing the listeners is not the > cause of your problem. If it is because the amount of leakage seems > too large as compared to the size of the listener objects, then it > might be that non-removal of the listeners is preventing the (probably > much larger) observer and/or observed object from being collected by > the > GC. > > If you are using the PropertyChangeListener class from GWT- > EXT, then you probably need to remove any listeners explicitly > from the object being observed by invoking removePropertyChangeListener > () > on each observing object listener in > the observed object's PropertyChangeSupport (list of listeners to be > notified) object before setting all references to the observing object > to null. That should break any circular references that may > have been set up between your observed and observer objects. > > Now, you might think that the GC should be able to detect > circularity so long as it is within Javascript, and I would agree, but > if you are trying to get rid of the observer (but not the observed) > object, then the observer object might hang around due to that > unwanted reference to its listeners from the observed object, and in > that case it would not be the GC's fault. > > GWT is supposed to deal with the garbage collectors of the various > browsers pretty well, but if you are using native Javascript then the > Javascript garbage collector cannot detect circularities between > native objects > and Javascript objects due to its having no view into the native > browser code. And since it > can't know about these, it will probably just not collect anything in > Javascript if there are references between it and a native object, > which means that > links between the native object and the JS object must be broken > before > the GC can do its job. > > GWT is kind of a new beast so far as the use of Javascript for > extended computations without a round trip to the server is concerned. > I mean, AJAX in general does this, but the complexity of the > computations made possible by GWT can easily equal that of a desktop > application, and some browsers may still be designed on the assumption > that it is OK not to collect some of the garbage some of the time, > because of the expected short duration and complexity of the > Javascript that runs between refreshes, where everything gets blown > away. So, one way to deal with this would be to meet their > expectations > by making a trip to the server every now and then. Of course, that > interrupts interactivity, and would be a disappointing and > demoralizing concession to the browser dragons that GWT is supposed to > be slaying, so naturally, if you do it, please don't tell anyone :-). > > I am using GWT-Ext myself in conjunction with some rather large GWT > objects, but have not yet gotten to the point of testing my code, so > this issue is of concern and interest. > > I am new to GWT-Ext, and fairly new to GWT in general, and so my > suggestions are based more on > speculation and on what I have read than on direct experience. If you > think that GWT-Ext might be the problem, then "your main recourse is > to look at the source." > > Hope that is not too general to be of assistance. > > Carl > ------ > > > On Jul 20, 12:33 am, SunilBansal <[email protected]> wrote: > > HI All, > > > > I am facing memory leakage problem in my application. I searched on > > Google but i found that memory leakage may be because of EXT JS > > because of some cyclic references in between JSNI and DOM objects and > > browser is not able to handle these DOM objects for garbage > > collection. > > > > I am using following technologies in my application : - > > > > GWT 1.6.4 > > GWT EXT > > Gilead > > > > When i explorer my code then i found some reason that may be cause of > > Memory Leakage as :- > > > > 1.) While i am clearing the widget or setting it's reference to null > > then i am not removing the listeners explicitly. > > > > But i am feeling, this memory leakage is not only because of this not > > removing listener explicitly and now i am not able to understand how > > can i remove this problem. > > > > So, please tell me if anybody have an idea? > > > > Thanks and regards, > > > > Sanj > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "GWT-Ext Developer Forum" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/gwt-ext?hl=en -~----------~----~----~----~------~----~------~--~---
