You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Benoit Wiart (JIRA)" <ji...@apache.org> on 2013/11/12 11:59:17 UTC
[jira] [Created] (FLEX-33897) MediaQueryParser should not allocate
memory for expressions already cached
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)