|
From: Doug M. <do...@cr...> - 2003-04-07 23:06:12
|
Ns 4 most certainly does have a memory management bug (or bugs actually)
I distincly recall several months dedicated to a work around.
The result was we implemented a recyled layer array.
In Ns when we try to deleet a DynLayer,
We simply removed it from it's parent, hid it and placed it in the recycled
array.
When creating aDynLayer in Ns 4 we first checked to see if there where any
DynLayer to recycle,
if so, we used one of those instead of creating anew one.
From DynLayer.specificCreate (DynAPI 2.6)
var recycled = this.parent.doc.recycled;
if (this.created)
recycled = [];
if (recycled && recycled.length > 0) {
this.elm = recycled[recycled.length-1];
recycled.length--;
} else {
this.elm = new Layer(this.w, this.parent.elm);
this.elm.captureEvents(Event.LOAD);
this.elm.onLoad = function() {};
};
From DynLayer.specificRemove (DynAPI 2.6)
if (!this.wasBuiltInline) {
if (!this.parent.doc.recycled)
this.parent.doc.recycled = [];
this.parent.doc.recycled[this.parent.doc.recycled.length] = this.elm;
};
this.wasBuiltInline = false;
this.elm.viisibility = 'hide';
----- Original Message -----
From: "Kevin" <ke...@ke...>
To: "Dynapi-Dev" <Dyn...@li...>
Sent: Monday, April 07, 2003 3:20 PM
Subject: Re: [Dynapi-Dev] DynLayers elements not destroyed.
> See below:
>
> "Raymond Irving" <xw...@ya...> wrote:
>
> > See below:
> >
> > --- Kevin <ke...@ke...> wrote:
> > > Hello,
> > >
> > > If elements are removed and then some more are added
> > > we may have a memory leak. Using Mozilla and
> > > example:
> > > dynapi.api.dynlayer-destroy.html
> > > the elements aren't removed when the Destroy all
> > > link is
> > > clicked.
> > >
> > > Suggested fix
> > > dynlayer_base.js:p._remove
> > >
> > > -this.elm.innerHTML = "";
> > > -this.elm.outerHTML = "";
> > > +//this.elm.innerHTML = "";
> > > +//this.elm.outerHTML = "";
> > > +var p=this.parent.elm;
> > > +if(p) p.removeChild(this.elm);
> > >
> > > This seems to work fine in IE too..
> >
> > I've added the above as well.
> >
> > > NS4 has a recycled array in
> > > dynlayer_ns4.js:p._remove
> > > but I don't see the space reused. Do we have growing
> > > memory here and perhaps the Layer should be deleted
> > > rather than hidden?
> >
> > Well, IMO if they're stored inside a recycle array
> > then they should be reused. Any ideas on how we should
> > do this?
>
> No ideas as we do, new Layer() or delete and not an OS
> specific malloc or free. NS4 may have memory management
> bugs as Doug says. Who implemented the recycled array?
> Perhaps it was an NS4 bug work around, as doing a delete
> on a Layer was proven to be bad news?
>
> -
> Kevin
>
> > --
> > Raymond Irving
> >
> > > -
> > > Kevin.
> > >
> > >
> > >
> > >
> > -------------------------------------------------------
> > > This SF.net email is sponsored by: ValueWeb:
> > > Dedicated Hosting for just $79/mo with 500 GB of
> > > bandwidth!
> > > No other company gives more support or power for
> > > your dedicated server
> > >
> > http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
> > > _______________________________________________
> > > Dynapi-Dev mailing list
> > > Dyn...@li...
> > >
> > http://www.mail-archive.com/dyn...@li.../
> >
> >
> > __________________________________________________
> > Do you Yahoo!?
> > Yahoo! Tax Center - File online, calculators, forms, and more
> > http://tax.yahoo.com
> >
> >
> > -------------------------------------------------------
> > This SF.net email is sponsored by: ValueWeb:
> > Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
> > No other company gives more support or power for your dedicated server
> > http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
> > _______________________________________________
> > Dynapi-Dev mailing list
> > Dyn...@li...
> > http://www.mail-archive.com/dyn...@li.../
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: ValueWeb:
> Dedicated Hosting for just $79/mo with 500 GB of bandwidth!
> No other company gives more support or power for your dedicated server
> http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
> _______________________________________________
> Dynapi-Dev mailing list
> Dyn...@li...
> http://www.mail-archive.com/dyn...@li.../
>
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.463 / Virus Database: 262 - Release Date: 3/17/2003
|