【问题标题】:Supporting Multiple Android Screens: Advantages vs. disadvantages of having drawer folders (images) for all densities?支持多个 Android 屏幕:所有密度的抽屉文件夹(图像)的优点与缺点?
【发布时间】:2015-04-27 11:53:53
【问题描述】:

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

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

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

更新 1:

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

所以我在考虑在没有设计师的情况下作为编码人员管理多个图像文件的缺点(以及更高的 APK 文件大小)是否会超过优点。特别是如果我要针对较新的设备(API >= 17)。

更新 2:

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

【问题讨论】:

  • 如果你担心你的 apk 的最终大小,你知道你可以创建multiple apks for multiple screen sizes吗?
  • 谢谢@JoaoSousa,我会记住这一点。但我主要关心的是管理多个图像资源,因为我是一名具有少量设计(photoshop)技能的独立开发人员。 ;-)
  • 我也这么说:)

标签: android android-layout android-resources android-drawable android-resolution


【解决方案1】:

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

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

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

【讨论】:

  • 说没有优势是彻头彻尾的谎言。
  • 我说“没有显着的性能改进”,我想说,主要原因不是性能,因为可以有多种优化解决方案,但产生另一个图像,细节很少它,只有设计师才能做到,主要目的是,我也是设计师,不仅是编码员,而且知道,编程不仅有性能改进,像素艺术也很重要:)
  • 谢谢@mes 我认为你的回答最合适。我将把这个问题留几个小时,看看是否有其他意见——如果没有,我会接受你的回答! :-)
【解决方案2】:

这有两个原因:

  • 通常情况下,屏幕密度较低的设备也往往具有不太强大的图像和图形处理硬件以及较低的内存。
  • 不仅仅是密度,文件大小和图像尺寸也会相应地进行缩放。

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

【讨论】:

  • 更不用说按比例缩小会导致最终位图中出现伪影。
  • 在 photoshop 或其他绘图编辑器中缩小也可能导致伪影,谁说 android 缩放不好,我们需要在图像编辑器中缩放相同的图像。主要原因与设计有关,要制作另一张低细节但高质量的图像。
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    相关资源
    最近更新 更多