24

I'm gonna release my app, it's a 1.2Mb apk that includes about 120 icons in 4 different formats (ldpi, mdpi, hdpi, x-hdpi).

If I add xx-dpi and xxx-hdpi icons the apk grows bigger and loading time increases.
There are many entry-level devices out there with really loooow memory and I'd like my app to run everywhere.

Do I really need to add xx-hdpi?

And is there a real device that requires xxx-hdpi?

4

8 回答 8

31

你不应该真的需要xxxhdpi. 之所以引入它是因为启动器图标在 nexus 5 的启动器上缩放的方式

编辑 当我在 2014 年 1 月回答时,Nexus 5 是唯一使用xxxhdpi. 现在包括 Nexus 6 和 LG G3 在内的许多设备都在使用它。因此,将它包含在您的应用程序中将是一个好主意。

于 2014-01-30T09:32:23.467 回答
9

我们必须在 Nexus 6、LG G3 和三星 Galaxy Note 4 的应用程序中添加 xxxhdpi。将来会有更多 xxxdhpi 设备。

于 2014-12-11T19:48:21.160 回答
6

大多数图像不需要xxxhpdi。您的启动器图标只需要 xxxhdpi。请参阅http://developer.android.com/guide/practices/screens_support.html

不应将 xxxhdpi 限定符用于启动器图标以外的 UI 元素。

在上面的引用中很清楚。在他们提供的示例文件夹布局中,它们显示了文件夹的所有密度,res/drawable最高为-xxhdpi,但随后显示的res/mipmap文件夹最高为-xxxhdpi。这里有更多报价:

xxxhdpi超超超高密度 (xxxhdpi) 使用的资源 (~640dpi)。仅将其用于启动器图标,请参见上面的注释。

只有在 xxhdpi 设备上提供比平常更大的mipmap-xxxhdpi启动器图标时才需要限定符。您不需要为所有应用程序的图像提供 xxxhdpi 资产。

于 2015-04-07T17:32:29.073 回答
5

您不需要 ldpi,因为 Android 将 hdpi 缩小为 ldpi。

来自https://developer.android.com/design/style/iconography.html

注意:Android 还支持低密度 (LDPI) 屏幕,但您通常不需要创建此尺寸的自定义资源,因为 Android 会有效地将 HDPI 资源缩小 1/2 以匹配预期大小。

于 2014-03-03T12:06:33.747 回答
5

从 Android 图标文档本身:

一些设备将启动器图标放大多达 25%。例如,如果您的最高密度启动器图标图像已经是超高密度,则缩放过程将使其看起来不那么清晰。因此,您应该在 drawable-xxxhdpi 目录中提供更高密度的启动器图标,系统使用它而不是放大较小版本的图标。

注意:drawable-xxxhdpi 限定符仅用于提供一个在 xxhdpi 设备上看起来比平常更大的启动器图标。您不需要为所有应用程序的图像提供 xxxhdpi 资产。

更多信息:http: //developer.android.com/design/style/iconography.html

于 2014-10-07T21:37:58.877 回答
4

不知道有没有需要xxx-hdpi的设备,但是xx-hdpi还不是很常用。但是 ldpi 也是如此,几乎没有设备仍然需要 ldpi。如果你只做 mdpi、hdpi 和 xhdpi 就可以了。如果设备需要更大或更小的东西,android 只需将其缩放到合适的大小。

以下是 Android 对此的评价:

为不同的屏幕密度提供不同的位图可绘制对象

默认情况下,Android 会缩放位图可绘制对象(.png、.jpg 和 .gif 文件)和九补丁可绘制对象(.9.png 文件),以便它们在每个设备上以适当的物理尺寸呈现。例如,如果您的应用程序仅针对基线、中等屏幕密度 (mdpi) 提供位图可绘制对象,那么系统在高密度屏幕上时会放大它们,而在低密度屏幕上时会缩小它们。这种缩放会导致位图中出现伪影。为确保您的位图看起来最好,您应该包含针对不同屏幕密度的不同分辨率的替代版本。可用于密度特定资源的配置限定符是 ldpi(低)、mdpi(中)、hdpi(高)和 xhdpi(超高)。例如,高密度屏幕的位图应该放在 drawable-hdpi/ 中。

您可以在此处找到文档:

https://developer.android.com/guide/practices/screens_support.html

希望这可以帮助

于 2014-01-30T09:32:53.953 回答
2

我认为您应该关注最流行的屏幕密度,即 hdpi、xhdpi 和 xxhdpi。有关每个密度的当前全球平均分布,请参见此链接

于 2014-01-30T09:35:43.007 回答
-5

忘记一切,让它变得简单!

只需将最高分辨率的图像存储在一个文件夹中。在drawable-hdpi中,并从其余的drawable文件夹中删除其他图像。

我已经在各种设备上对其进行了测试,它就像一个魅力......

于 2015-04-12T15:28:07.660 回答