flex-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Wiart (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLEX-33897) MediaQueryParser should not allocate memory for expressions already cached
Date Tue, 12 Nov 2013 10:59:17 GMT
Benoit Wiart created FLEX-33897:
-----------------------------------

             Summary: MediaQueryParser should not allocate memory for expressions already
cached
                 Key: FLEX-33897
                 URL: https://issues.apache.org/jira/browse/FLEX-33897
             Project: Apache Flex
          Issue Type: Improvement
          Components: Mobile: Performance, Styles
    Affects Versions: Apache Flex 4.11.0
         Environment: desktop mobile
            Reporter: Benoit Wiart
            Priority: Minor


When using @media from default sdk styles or custom styles
the mxml compiler generates code like :
{code: ActionScript}
if (styleManager.acceptMediaList("(application-dpi:160)"))
              {
                this.focusThickness = 3;
                this.fontSize = 24;
              }
              if (styleManager.acceptMediaList("(application-dpi:320)"))
              {
                this.fontSize = 24;
              }
              if (styleManager.acceptMediaList("(application-dpi:480)"))
              {
                this.focusThickness = 3;
                this.fontSize = 24;
              }
...
{code}

The acceptMediaList is often called, it delegates to MediaQueryParser which has a cache of
known media expressions.
But MediaQueryParser#parse allocates some memory even if the expression is in the cache. these
allocations come from the string manipulation.

this patch use the original expression as the key in the cache instead of the 'lowercased'
expression.
It will increase the cache size (by a small percentage) only if you have the same media expression
in different case.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message