1

我不明白为什么建议为所有密度(ldpi,...,xxhdpi)提供可绘制(图像)。

添加一个具有最高所需密度(xxxhdpi)的文件并以编程方式缩小该图像(例如,对于标签图标,我可以设置一个明确的dp大小)不是更好吗?

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

更新1:

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

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

更新 2:

就我而言,我更像是一名编码员而不是一名设计师。在@mes 的麦克风示例图像中,我可以只使用左麦克风的高密度版本并将其缩小而没有明显的缺点吗?

4

3 回答 3

2

没有显着的优势,当设计师或者你只是简单地缩小图像大小并放入 ldpi 时,实际的意思是为小尺寸绘制另一个图像,因为在很多情况下,简单地缩小图像尺寸会产生不准确和低质量的图像,并且一个好的设计师会画另一张图片,里面的细节很少,这是一个例子,只有在这种情况下才值得将不同的图片放在不同的文件夹中 图标

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

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

于 2015-02-25T13:12:36.573 回答
0

有两个原因:

  • 通常,具有较低密度屏幕的设备也往往具有较弱的用于图像和图形处理的硬件,以及较低的内存。
  • 它不仅仅是密度,它也是相应缩放的文件大小和图像尺寸。

因此,从技术角度来看,为不同的屏幕尺寸提供不同的可绘制对象的 Android 方式是合适的。

于 2015-02-25T13:18:11.780 回答
0

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

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

于 2015-02-25T14:45:32.317 回答