哪个更占用内存?使用可绘制的 xml 或可绘制的图像进行绘制?

pix*_*een 5 android android-button

我有一个具有多个按钮的应用程序,对于这些按钮,我使用不同的可绘制图像 (png) 来设置背景。

我知道您可以使用“drawable xml”文件在 android 中绘制自定义按钮。在那些中,您可以为该特定形状定义形状并设置渐变、填充等。这减小了应用程序的大小(因为使用它会消除所有的 PNG)。

背景文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFF0000" android:endColor="#FFFFFFFF" android:angle="90" />
<padding android:left="4dp" android:top="4dp" android:right="4dp" android:bottom="4dp" />
<corners android:radius="4dp" />
Run Code Online (Sandbox Code Playgroud)

我的问题是,从记忆点来看,哪个更可取?另外一个的主要优点/缺点是什么?

Asw*_*mar 5

在 xml 中创建 drawable 将是

1)成本较低,因为不需要将整个图像加载到内存中。

2)它不会受到缩放问题的影响。

对于简单的背景和渐变,我肯定会使用 XML 布局。如果对于 XML 布局来说太复杂了,那么请使用实际的 PNG 图像。