Thanks Adam.

I will try to restructure my application using .show() and .hide().... :) :)

Thanks again.

On Thu, Apr 16, 2009 at 8:01 PM, Adam Fredericks <
[email protected]> wrote:

>
> IE7 has a dead beat garbage collector. The memory will not be reclaimed
> when you destroy components. When you create an object, IE allocates
> memory on the local machine to run it - destroying the object will not
> reclaim that lost memory. No matter what you do, IE will not reclaim the
> memory unless the browser is fully refreshed.
>
> IE8 fixed some of these issues, but not all of them.
>
> I ran into this same issue with an enterprise web application and we
> almost scrapped GWT-EXT because of it, but we managed to work around it.
> The memory problem is a very big one with GWT-Ext. But you are not out
> of luck, because you can still work with it if you are creative with
> your interfaces and very conservative about of objects/elements you use.
>
> The most important thing to remember is NEVER destroy anything - only
> HIDE things and re-use them. And be especially careful with windows and
> tab panels.
>
> Another way I have seen it rectified is more architecture based. If you
> base your entire application in frames you can refresh pieces of the
> frameset and it will reclaim the memory used by the widget in that
> frame. That is very complicated though.
>
> .hide() and .show() are your friends...
>
> Adam
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On
> Behalf Of kk
> Sent: Thursday, April 16, 2009 2:21 AM
> To: GWT-Ext Developer Forum
> Subject: TabPanel Memory Issue
>
>
> Hi,
>
> I have a gwt-ext tab panel that dynamically creates tabs. These tabs
> can contain multiple gwt-ext widgets. When I try to close these tabs,
> I notice that the memory indicated via the task manager of Internet
> explorer does not decrease.
> My question is: Should/Would IE7 free up the memory when we close
> these tabs?
>
> I have tried to manually destroy the tabs by overriding the
> doBeforeRemove() method and calling the panel.destroy() method there,
> but it does not free up memory.
>
> We are overridding the following method in the PanelListenerAdapter of
> the TabPanel
> @Override
> public boolean doBeforeRemove(Container self, Component component) {
>    Panel pp = appTabPanel.getItem(component.getId());
>    if(pp != null){
>        // Attempting to destroy/remove the tab
>        pp.destroy();
>        pp.removeAll(true);
>        pp.removeFromParent();
>        pp = null;
>    }
>    return true;
> }
>
> Any help would be appreciated.
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to