Android如何减少可绘制的图层列表GPU透支

时间:2016-04-08 20:17:44

标签: android xml android-layout android-drawable gpu-overdraw

我创建了一个简单的例子。看一看 enter image description here

这是一个简单的布局

带孩子的LinearLayout

  • 相对 - bg = test_drawable_1
  • 相对 - bg = test_drawable_2
  • 相对 - bg = test_drawable_3
  • 相对 - bg = test_drawable_4
  • 相对 - bg = test_drawable_5

每个test_drawable它都是一个可绘制的xml文件,带有图层列表根元素和形状。每个数字都是形状的数量

随着更多层形状的过度绘制将会增长

布局

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="@drawable/test_drawable_1"
        android:layout_marginBottom="8dp"></RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="@drawable/test_drawable_2"
        android:layout_marginBottom="8dp" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="@drawable/test_drawable_3"
        android:layout_marginBottom="8dp" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="@drawable/test_drawable_4"
        android:layout_marginBottom="8dp" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="64dp"
        android:background="@drawable/test_drawable_5"
        android:layout_marginBottom="8dp" />
</LinearLayout>

test_drawable_1

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <corners android:radius="@dimen/gs_GridSize2x" />
            <padding android:top="1dp" android:right="1dp" android:left="1dp" android:bottom="1dp"/>
            <solid android:color="#95C4CF"/>
        </shape>
    </item>
</layer-list>

是否有任何方法可以使用drawable layer-list xml减少GPU过度绘制?

0 个答案:

没有答案