Harbs, I never did verify that the original change to use string references instead of literals saved memory - it should have (in theory), but I think you were going to check. Did it make a difference? Certainly if it does not, you should remove it (I think it was a single commit isolated from other changes)
On Fri, Nov 29, 2019 at 6:07 AM Harbs <[email protected]> wrote: > The older code works, but this code uses less memory. > > Greg added an optimization to use String class instances instead of > literals. That optimization undid an older optimization of not writing the > default nodeKinds. > > Reverting to default literals on the prototype saved a couple of MB of > memory in my app. > > > On Nov 28, 2019, at 7:00 PM, Alex Harui <[email protected]> > wrote: > > > > Is this a temporary workaround? Shouldn't the old code work? > > > > Get Outlook for Android<https://aka.ms/ghei36> > > > > ________________________________ > > From: [email protected] <[email protected]> > > Sent: Thursday, November 28, 2019 8:50:10 AM > > To: [email protected] <[email protected]> > > Subject: [royale-asjs] branch develop updated: string literals are not > set in the constructor > > > > This is an automated email from the ASF dual-hosted git repository. > > > > harbs pushed a commit to branch develop > > in repository > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox.apache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7Caharui%40adobe.com%7C5e9143c74afb4b2e0cd308d7742308d4%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637105566130549447&sdata=gvTjl3kQ2I04ghkuwarZ7VBaGLXXdWMbA74WFfptQik%3D&reserved=0 > > > > > > The following commit(s) were added to refs/heads/develop by this push: > > new 265c230 string literals are not set in the constructor > > 265c230 is described below > > > > commit 265c230ac5d555b2643bb9220bb5b69408abd66d > > Author: Harbs <[email protected]> > > AuthorDate: Thu Nov 28 18:49:50 2019 +0200 > > > > string literals are not set in the constructor > > > > The string literal will work because the comparison is not strict > > --- > > frameworks/projects/XML/src/main/royale/XML.as | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/frameworks/projects/XML/src/main/royale/XML.as > b/frameworks/projects/XML/src/main/royale/XML.as > > index 8bdc99e..2ecd067 100644 > > --- a/frameworks/projects/XML/src/main/royale/XML.as > > +++ b/frameworks/projects/XML/src/main/royale/XML.as > > @@ -906,7 +906,7 @@ package > > if (lastChild && lastChild._nodeKind == > ELEMENT) { > > > > const wrapper:XML = new XML(); > > - wrapper._nodeKind = ELEMENT; > > + // wrapper._nodeKind = ELEMENT; > > child = new > XML(child.toString()); > > > wrapper.setName(lastChild.name()); > > child.setParent(wrapper); > > @@ -1169,7 +1169,7 @@ package > > */ > > var i:int; > > var xml:XML = new XML(); > > - xml._nodeKind = _nodeKind; > > + xml.setNodeKind(_nodeKind); > > xml.setName(name()); > > xml.setValue(_value); > > var len:int; > > @@ -1872,7 +1872,7 @@ package > > return declaredNS; > > } > > > > - private var _nodeKind:String = ELEMENT; > > + private var _nodeKind:String = "element"; > > /** > > * Specifies the type of node: text, comment, > processing-instruction, attribute, or element. > > * @return > > > >
