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

Dmi*_*pov 5 xml android android-layout android-drawable gpu-overdraw

我创建简单的例子.看一看 在此输入图像描述

这是一个简单的布局

带孩子的LinearLayout

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

每个test_drawable它都是一个可绘制的xml文件,带有layer-list根元素和形状.每个数字都是形状的数量

随着更多层的形状透支将增长

布局

    <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>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以使用drawable layer-list xml减少GPU透支?