矢量Drawables使用大量的内存

时间:2016-01-27 01:10:28

标签: android drawable android-vectordrawable

所以我有11个不同的drawables,我已经制作成矢量,我已经将它们用作所有设备的图像,这些设备的版本晚于棒棒糖,它可以正常用作图像,但矢量要么使它非常滞后,要么它们使得应用程序因内存不足而崩溃。

我认为矢量比图像效率更高。

这是我的矢量drawable的一个例子:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="612dp"
    android:height="792dp"
    android:viewportWidth="612"
    android:viewportHeight="792">

<path
    android:fillColor="#C03A2B"
    android:pathData="M 306 90 C 474.999133448 90 612 227.000866552 612 396 C 612 564.999133448 474.999133448 702 306 702 C 137.000866552 702 0 564.999133448 0 396 C 0 227.000866552 137.000866552 90 306 90 Z" />
<path
    android:fillColor="#FFFFFF"
    android:pathData="M483.9,584.7L301.1,415.4c-10.9-10.2-15.5-23.7-9.7-29.5l5.6-5.6c5.9-5.9,19.5-1.3,29.5,9.7l169.5,182.6
    c2.2,2.4,1.8,6.3-0.7,9l-2.5,2.5C490.2,586.5,486.1,587,483.9,584.7z" />
</vector>

我在gridView中显示这些内容,随后将它们设置为创建的图像视图的图像资源。

1 个答案:

答案 0 :(得分:2)

由于这些绘图的大小,您似乎会遇到问题,请参阅this guidance,其中包括:

  

矢量图形的初始加载可能比相应的光栅图像花费更多的CPU周期。之后,两者之间的内存使用和性能相似。我们建议您将矢量图像限制为最大200 x 200 dp;否则,画画可能需要很长时间。