2

在最新的 Adob​​e Flex sdk 4.6 中,从性能角度看什么更好?

<s:Group width="100%" height="100%"/>

或者

<s:Group left="0" right="0" top="0" bottom="0"/>

谢谢你。

4

1 回答 1

5

BasicLayout.updateDisplayList()我发现这个(在每个子元素的循环中):

if (!isNaN(percentWidth))
            {
                var availableWidth:Number = unscaledWidth;
                if (!isNaN(left))
                    availableWidth -= left;
                if (!isNaN(right))
                     availableWidth -= right;

                childWidth = Math.round(availableWidth * Math.min(percentWidth * 0.01, 1));
                elementMaxWidth = Math.min(layoutElement.getMaxBoundsWidth(),
                    maxSizeToFitIn(unscaledWidth, hCenter, left, right, layoutElement.getLayoutBoundsX()));
            }
            else if (!isNaN(left) && !isNaN(right))
            {
                childWidth = unscaledWidth - right - left;
            }

身高也一样。

所以,看起来像:

  1. percenWidthtopleft具有更高的优先级(如果两者都设置了)
  2. topleftpercenWidth更容易计算(单次减法,函数调用和条件)
  3. topleft可以用作样式声明。

此外,大多数 Flex4 皮肤都是基于顶部左侧的- 我认为也是出于性能原因。

于 2012-06-05T13:46:31.097 回答