Android Vector资产:dp测量值是否只对“重要”;包装内容“;?

Android Vector资产:dp测量值是否只对“重要”;包装内容“;?,android,vector,Android,Vector,当我创建一个矢量绘图时,我可以在dp中设置它的大小。默认值为24dp x 24dp 如果我在应用程序中使用的矢量大小不同于24dp x 24dp,那么这些测量值对性能有影响吗?关于21岁以下的API(我使用app:srcCompat来显示图像) 当使用较低的API并且系统将其缩小时,向量大小是否重要 除了在我应用wrap_content时作为默认大小之外,这些测量值对我的使用有任何影响吗 我可能无法回答您的所有问题,但如果您没有在棒棒糖前版本上使用支持库中的矢量绘图,则DP大小肯定很重要 要启用

当我创建一个矢量绘图时,我可以在
dp
中设置它的大小。默认值为24dp x 24dp

  • 如果我在应用程序中使用的矢量大小不同于24dp x 24dp,那么这些测量值对性能有影响吗?关于21岁以下的API(我使用
    app:srcCompat
    来显示图像)

  • 当使用较低的API并且系统将其缩小时,向量大小是否重要

  • 除了在我应用
    wrap_content
    时作为默认大小之外,这些测量值对我的使用有任何影响吗


  • 我可能无法回答您的所有问题,但如果您没有在棒棒糖前版本上使用支持库中的矢量绘图,则DP大小肯定很重要

    要启用support vector drawables,必须将以下内容添加到应用程序的gradle构建文件中:

    android {  
        defaultConfig {  
            vectorDrawables.useSupportLibrary = true  
        }  
    }
    

    如果这不是应用程序构建文件的一部分,Android Studio将为所有棒棒糖前版本生成PNG,这些版本将具有定义的DP大小。所以,如果你的矢量定义了24dp,而你将它作为128dp图形使用,那么它在棒棒糖前的版本上很可能看起来不太好,因为将使用24dp PNG

    生成的PNG可在此处找到:

    app\build\generated\res\pngs\...
    
    另一种情况是,如果矢量为128dp,而您将其用作24dp图形,则缩小的PNG图形也可能由于缩放而看起来不像预期的那样完美,并且您可能由于PNG太大而浪费了一些文件大小

    我从来没想过这对演出意味着什么

  • 当您使用
    wrap_content
    时,设备将以您所需的大小(24dp)呈现向量。设置更大的大小将导致渲染更大的位图,从而影响UI和性能。若您并没有使用包裹内容,并且您正在使用向量支持库,那个么向量大小应该无关紧要
  • 如果设置了vectorDrawables.useSupportLibrary=false,则apk还将包含用于API 21以下设备的向量生成位图。更大的位图需要更多的时间来打开,占用更多的内存,还增加了apk的大小。如果您使用的UI大小大于所需大小(系统将缩小它),这也会影响性能,可能会降低图像质量
  • 在#1中回答,当您不使用
    wrap_content
    时,如果您使用的是
    vectorDrawables.useSupportLibrary=true

  • 所以你只想测量矢量图像的大小,还是同时测量文本?如果是这样的话,那么你可以使用compile'com.intuit.sdp:sdp android:1.0.4'这个库来进行put度量。我想这会有帮助的,是的。我没想到会有后备PNG一代。因此,从本质上讲,如果您使用的是无PNG回退的矢量可绘制XML,那么可绘制XML中的维度仅在您使用
    wrap\u content
    时才起作用。谢谢