【发布时间】:2015-07-25 19:35:53
【问题描述】:
xml中创建的大部分布局文件都可以通过代码创建。 例如,下面的 xml 和 java 中的 sn-ps 服务于相同的目的:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/allstar1"
android:layout_weight="1"/>
..
..
</LinearLayout>
Java:
LinearLayout l_row = new LinearLayout(this);
l_row.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams lParam1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT,1f);
lParam1.weight = 1.0f;
lParam1.gravity = Gravity.CENTER;
l_row.setLayoutParams(lParam1);
LinearLayout.LayoutParams r_Param = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
r_Param.weight = 1.0f;
r_Param.gravity = Gravity.CENTER;
for(int j=0;j<cols;j++)
{
ImageView iv = new ImageView(this);
l_row.addView(iv);
iv.setLayoutParams(r_Param);
}
我通常更喜欢(顺其自然)在代码中创建我的布局和其他控件。我一直在考虑可能的缺点。我在互联网上没有找到任何东西。
我想知道这两种方法的区别:
- 对内存消耗的影响
- 对速度的影响
- 代码重用性/大小
- 维护
- 我应该知道的其他任何事情
有什么显着的优势/劣势吗?或者使用特定的方法仅仅是个人选择的问题?
感谢和问候,
SwaS
【问题讨论】:
标签: android performance android-layout