Android 线性布局(LinearLayout)性能相关

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

如下嵌套线性布局中有两处性能问题,在不使用 Eclipse Adt 提示的情况下,你能找得出来吗?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.mitest.linearlayoutexample.MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/hello_world" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_id="@+id/testLinearLayout02"
        android:layout_weight="1" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/hello_world" />
    </LinearLayout>

</LinearLayout>

下面揭晓答案:

第一处:

使用布局宽度值 0dp 替换 wrap_content 会得到更好的性能;

第二处:

嵌套使用权重对性能有损害。

线性布局里面嵌套了一层线性布局,并且两层都使用了 weight 权重属性来分配布局内空间,如果出现这种情况,那么可能是界面布局考虑欠妥,我做的例子中,通过相对布局很好地解决了这个问题。

简而言之,能用相对布局替换的线性布局,应该就是可以避勉使用的线性布局,略有武断,但对未来扩展会留出很大空间,并且每一次界面布局的改变,最好都重新构思各种布局方式的使用。性能无小事,尤其对于 Android !

时间: 2024-10-28 16:30:04

Android 线性布局(LinearLayout)性能相关的相关文章

Android线性布局LinearLayout(七)

一.先了解几个属性: 1.布局 1) android:orientation="vertical" 垂直布局 2)android:orientation="horizontal"  水平布局 2.控件内容高和宽布局 1) android:layout_width="match_parent" ,布满整个屏幕. [匹配父窗口] 2)android:layout_height="wrap_content",布局元素将根据内容更改大

Android 线性布局(LinearLayout)相关官方文档 - 指南部分

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Android 官方文档线性布局相关资源链接汇总如下: android-sdk-macosx-4.4.2/docs/guide/topics/ui

Android 线性布局(LinearLayout)相关官方文档 - 参考部分

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Android 官方文档线性布局相关资源链接汇总如下: android-sdk-macosx-4.4.2/docs/guide/topics/ui

Android 自学之线性布局 LinearLayout

线性布局(LinearLayout),线性布局有点想AWT编程里面的FolwLayout,他们都会将容器里面的组件挨个的排列起来. 他们最大的区别在于:Android的线性布局不会换行:AWT里面的FolwLayout则会另起一行进行显示 LinearLayout支持常用XML属性及相关方法的说明 XML属性 相关方法 说明 android:gravity setGravity(int) 设置布局管理器内组件的对齐方式.该属性支持top,bottom,left,right--也可以同时制定多种对

Android线性布局实现聊天气泡+多样化图层效果

Android线性布局实现聊天气泡+多样化图层效果                                                                      支持平台:Android    运行环境:Eclipse    开发语言:Java                                                                      下载地址:http://www.devstore.cn/code/info/222.ht

线性布局LinearLayout

线性布局LinearLayout 一.简介 LinearLayout是一种线型的布局方式.LinearLayout布局容器内的组件一个挨着一个地排列起来:不仅可以控制个组件横向排列,也可控制各组件纵向排列.通过orientation属性设置线性排列的方向是垂直(vertical)还是纵向(horizontal). 线性布局实例 二.代码实例 效果图: 代码:

Android布局之线性布局——LinearLayout

本文将详细介绍线性布局的各种xml属性. xml属性 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="mat

Android——布局(线性布局linearLayout,表格布局TableLayout,帧布局FrameLayout)

线性布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&q

android之线性布局LinearLayout以及weight权重使用

LinearLayout(线性布局): :layout/activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:lay