1

我听说布局参数中的权设置可以显着提高应用程序的性能。所以我会谨慎使用它,或者更好 - 完全避免使用它......

构建Button 填充 2/3 可用宽度第二个 Button 使用其余部分(宽度的 1/3)的最佳性能方法是什么?

构建填充 100dp 可用宽度的 Button和使用其余部分的第二个 Button的最佳性能方法是什么?

是的,我搜索了它,但没有找到任何关于性能的信息,真的!:)

提前致谢!

4

2 回答 2

1

当它使您的 XML 更容易时,您可以并且应该使用 layout_weight。除非您有非常深的嵌套布局(仅对齐两个按钮时不是这种情况),否则这不会成为问题。

如果您担心性能,请不时查看层次结构查看器并检查您的布局树是否太大。单击估计测量/布局/绘制时间的右上角按钮之一,查看是否有任何红点。这些布局可能太慢了,可能需要优化。

一般来说; layout_weights 还不错。

关于实施,第一个问题使用布局权重,第二个问题使用 100dp 和 fill_parent 宽度(内部线性)。

于 2013-10-27T23:47:56.777 回答
1

所以我会谨慎使用它,或者更好 - 完全避免使用它......

迅速摆脱这种想法。layout_weight在正确的情况下可以非常方便。我绝对不排除完全使用它。就谨慎而言,我不确定您的担忧是什么,但是如果您正确使用它,那么您会没事的。

构建 Button 填充 2/3 可用宽度和第二个 Button 使用其余部分(宽度的 1/3)的最佳性能方法是什么?

使用时要记住的主要事情layout_weight是,您width的 child Views 应该是 0dp 和水平LinearLayout,而您的height0dp 应该是使用 vertical LinearLayout。请参阅下面的简短示例。使用layout_weight可以帮助您layouts在不同的屏幕尺寸/分辨率上保持相同的外观。如果您执行类似以下代码的操作并且未weightSum在您的父级中声明 a ,LinearLayout那么 CPU 将为您计算它。您只需要声明weightSum您是否正在做一些您想要空白空间或其他情况的事情,但一般来说最好让它为您计算。

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
<Button
    ...
    android:layout_width="0dp"
    android:layout_height="wrap_content"/>
<Button
    ...
    android:layout_width="0dp"
    android:layout_height="wrap_content"/>
</LinearLayout>

构建填充 100dp 可用宽度的 Button 和使用其余部分的第二个 Button 的最佳性能方式是什么?

使用 aLinearLayout您可以将width第一个设置Button为 100dp,width将第二个Button设置为match_parent. 这将导致您的第一个Button被首先绘制,而您的第二个Button将使用可用的width.

于 2013-10-27T23:51:22.603 回答