支持多个Android屏幕:所有密度的抽屉文件夹(图像)的优势与劣势?

支持多个Android屏幕:所有密度的抽屉文件夹(图像)的优势与劣势?,android,android-layout,android-resources,android-drawable,android-resolution,Android,Android Layout,Android Resources,Android Drawable,Android Resolution,我不明白为什么建议所有密度(ldpi,…,xxhdpi)都使用可绘制(图像) 添加一个具有所需最高密度(xxxhdpi)的文件,而不是通过编程方式缩小该图像(例如,对于选项卡图标,我可以设置一个显式dp大小),这不是更好吗 因此,我只需要管理一个文件,APK文件的大小会更小。我认为性能劣势不应该太大 更新1: 更具体地说:在使用高密度图像(PNG文件)时,我从未注意到任何质量损失,该图像在我的mdpi设备上被缩小到显式的dp值 因此,我在考虑,如果作为一个没有设计师的编码器管理多个图像文件(以及

我不明白为什么建议所有密度(ldpi,…,xxhdpi)都使用可绘制(图像)

添加一个具有所需最高密度(xxxhdpi)的文件,而不是通过编程方式缩小该图像(例如,对于选项卡图标,我可以设置一个显式dp大小),这不是更好吗

因此,我只需要管理一个文件,APK文件的大小会更小。我认为性能劣势不应该太大

更新1:

更具体地说:在使用高密度图像(PNG文件)时,我从未注意到任何质量损失,该图像在我的mdpi设备上被缩小到显式的dp值

因此,我在考虑,如果作为一个没有设计师的编码器管理多个图像文件(以及更高的APK文件大小)的缺点可能会超过优点。特别是如果我要瞄准较新的设备(API>=17)

更新2:


就我而言,与其说我是个设计师,不如说我是个程序员。在@mes的话筒示例图像中,我可以使用左话筒的高密度版本,并将其缩小,但没有明显的缺点?

没有明显的优势,当设计师或您只是缩小图像大小并将其放入ldpi中时,实际意义是为小尺寸绘制另一个图像,因为在很多情况下,当简单地减小图像大小会产生不精确和低质量的图像时,一个好的设计师会绘制另一个图像,其中的细节很少,这是一个示例,只有在这种情况下,才值得将不同的图像放在不同的文件夹中

因此,我只需要管理一个文件,APK文件的大小会更小。我认为性能劣势不应该太大


是的,您是对的,没有显著的性能改进,而且apk大小也在增加,这就是为什么不值得缩小同一图像的大小。

原因有两个:

  • 通常,屏幕密度较低的设备也倾向于使用功能较弱的图像和图形处理硬件以及较低的内存
  • 不仅是密度,文件大小和图像尺寸也会相应地进行缩放

因此,从技术角度来看,Android为不同的屏幕形状因素提供不同的绘图功能是合适的。

第一个优点是mes提到的:不同尺寸的图像不同


第二个优势是内存/代码效率:android上的1000x1000像素图像将占用1000x1000x4~=3.8MB的内存,这在较小的屏幕上是非常浪费的,每个应用程序可以有16mb的可用内存。您可以尝试,但这需要为每个图像放置/维护大量代码,并且在某些情况下还会出现性能问题。

更不用说缩小比例会导致最终位图中出现瑕疵。在photoshop或其他绘制编辑器中缩小比例也会导致瑕疵,谁说android的缩放效果不好,我们需要在图像编辑器中缩放相同的图像。主要原因与设计有关,即制作另一个低细节但高质量的图像。如果您担心apk的最终尺寸,您知道您可以制作吗?谢谢@JoaoSousa,我会记住这一点。但我主要关心的是管理多个图像资源,因为我是一名具有次要设计(photoshop)技能的独立开发人员我也这么说:)说没有优势纯属谎言。我说“没有显著的性能改进”,我想说的是,这不是性能的主要原因,因为可以有多个优化解决方案,但可以生成另一个图像,没有多少细节,这是只有设计师才能做到的,主要目的是,我也是一名设计师,不仅仅是一名编码器,而且我知道,编程不仅提高了性能,像素艺术也很重要:)谢谢@mes,我认为你的答案最合适。我会把这个问题再多留几个小时,看看是否还有其他意见——如果没有,我会接受你的回答!:-)