Android 使用大量内存的矢量绘图
所以我有11种不同的绘图工具,我把它们做成了向量,我把它们作为比棒棒糖版本更高的所有设备的图像,它可以作为图像使用,但是向量要么使它非常滞后,要么由于没有足够的内存而使应用程序崩溃 我认为向量比图像更有效 下面是我的向量可绘制的示例:Android 使用大量内存的矢量绘图,android,drawable,android-vectordrawable,Android,Drawable,Android Vectordrawable,所以我有11种不同的绘图工具,我把它们做成了向量,我把它们作为比棒棒糖版本更高的所有设备的图像,它可以作为图像使用,但是向量要么使它非常滞后,要么由于没有足够的内存而使应用程序崩溃 我认为向量比图像更有效 下面是我的向量可绘制的示例: <?xml version="1.0" encoding="utf-8"?> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width
<?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中显示这些内容,gridView会随机将它们设置为创建的ImageView的图像资源。由于这些可绘制内容的大小,您可能会遇到问题,请参阅其中包括: 矢量图形的初始加载可能比相应的光栅图像花费更多的CPU周期。之后,两者的内存使用和性能相似。我们建议您将矢量图像的最大分辨率限制为200 x 200 dp;否则,绘制可能需要太长时间
它们最终会相对于屏幕宽度绘制,因此大小并不重要。我原以为由于文件大小较小,矢量会占用较少的内存,但没有意识到计算开销会如此巨大。我想我只会使用高度压缩的图像,这是一个很好的教训。视口高度和视口宽度是否也会影响内存使用,即是否也建议将它们设置为最大200 x 200 dp?