【问题标题】:Drawables for different screen densities不同屏幕密度的可绘制对象
【发布时间】:2016-03-22 14:13:28
【问题描述】:

将高分辨率图像资源放在 XXHDPI 或 XHDPI 中并让 android 根据运行应用程序的设备进行放大或缩小缩放并节省时间将不同大小的图像放在不同的文件夹中是否是个好主意即每个文件夹的图像 LDPI,MDPI,HDPI,XHDPI,XXHDPI,XXXHDPI... 意味着为什么需要为每个密度放置不同的图像时我们可以只使用相同的高分辨率图像并让 android 做剩下的事情,它在性能、用户界面或其他方面有什么真正的不同吗?

【问题讨论】:

  • 请阅读我的问题,这绝不是问 px、dp、sp 之间的区别...
  • 你永远不应该升级,因为你有像素化的风险。更好的缩减。但是,如果质量(以及性能)是您的目标,您应该提供所有缩放的位图。

标签: android android-layout android-resources dpi android-icons


【解决方案1】:

可以这样做,但缩小比例并不完美。设备越小,密度越小,您就会得到奇怪的伪影。如果您为更小、更不密集的屏幕尺寸设计更小的资产,您将获得更好看的应用程序。此外,photoshop 或其他图像处理应用程序在减少图像方面比 Android 平台做得好得多。

另一方面是性能。图标可能不会花费很多时间来单独缩放,但数量很多。密度较小的手机通常也较旧、较弱和/或内存较少。与更新、功能更强大的手机相比,他们将感受到这种影响。对于您可能拥有的较大图像(例如壁纸),您还会面临内存不足异常的风险。

【讨论】:

  • 我真正想知道的是,android 是否每次都在运行时进行缩小或放大,或者在安装应用程序时只做一次并在需要时使用这些图标,如果是这样的话,那么我不认为会有任何性能问题,关于工件,我只为所有设备使用了一个图标,并且在不同密度的设备上很少看到它们有任何差异,所以是否值得花时间为每个密度放置不同的图标。使用文件夹中的单个图标完成,从用户的角度来看没有任何区别。
  • @rd7773 它每次都在运行时执行。
【解决方案2】:

从 API 级别 21 开始,还有另一种方法可以解决应用程序中的图像可伸缩性:Vector Drawables。它们可以从 SVG 路径定义中创建。

这个视频对了解 Vector Drawable 的工作原理非常有用:https://www.youtube.com/watch?v=wlFVIIstKmA

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-25
    • 2013-06-27
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多