码迷,mamicode.com
首页 > 移动开发 > 详细

android布局性能优化

时间:2014-11-24 15:29:28      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:android   布局   性能优化   

本质是通过复用控件达到性能优化。

1、通过<Include/>

被复用控件:

<?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="wrap_content"
    android:orientation="vertical" 
    android:background="#ccc"
    >
    <TextView 
        android:gravity="center"
         android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="使用include复用控件"
    android:textSize="15sp"
    android:textColor="@android:color/holo_red_light"
        />
    

</LinearLayout>

bubuko.com,布布扣

<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=".MainActivity"
    android:orientation="vertical"
     >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <QuickContactBadge
        android:id="@+id/quickContactBadge1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="48dp"
        android:layout_toRightOf="@+id/textView1" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/quickContactBadge1"
        android:layout_below="@+id/quickContactBadge1"
        android:layout_marginRight="34dp"
        android:layout_marginTop="37dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/progressBar1"
        android:layout_below="@+id/progressBar1"
        android:layout_marginTop="26dp"
        android:text="Button" />
    <include layout="@layout/bottom"
        android:id="@+id/myresue"
       android:layout_alignParentBottom="true"
      
        />

</LinearLayout>
复用效果:
bubuko.com,布布扣



2‘通过Merge

解决布局嵌套降低性能的问题。把一个布局中处在同意层次的控件抽取出来,在include,提高性能。

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
   android:layout_gravity="center_vertical"
     >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button2" />

</merge>


<?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="match_parent"
    android:orientation="vertical" >
    <LinearLayout 
        android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="#f00"
        >
         <TextView 
        android:gravity="center"
         android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="使用Merge复用控件"
    android:textSize="15sp"
    android:textColor="@android:color/holo_red_light"
        />
    
        
    </LinearLayout>
     <LinearLayout 
         
        android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
      android:background="#0f0"
       
        >
            <TextView 
        android:gravity="center"
         android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="使用Merge复用控件"
    android:textSize="15sp"
    android:textColor="@android:color/holo_red_light"
        />
         
     </LinearLayout>
    
      <LinearLayout 
        android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
      android:background="#00f"
       
        >
            <TextView 
        android:gravity="center"
         android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="使用Merge复用控件"
    android:textSize="15sp"
    android:textColor="@android:color/holo_red_light"
        /> 
          
      </LinearLayout>
      <LinearLayout 
            android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
          >
          <include layout="@layout/mybutton"/>
      </LinearLayout>
      
    

</LinearLayout>

效果:

bubuko.com,布布扣


android布局性能优化

标签:android   布局   性能优化   

原文地址:http://blog.csdn.net/u014600432/article/details/41443847

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!