我将发布我的应用程序,这是一个1.2Mb的apk文件,其中包括4种不同格式(ldpi、mdpi、hdpi、x-hdpi)的大约120个图标。
如果我添加xx-dpi和xxx-hdpi的图标,apk文件会变得更大,加载时间会增加。
有很多入门级设备内存非常低,我希望我的应用程序在任何地方都能运行。
我真的需要添加xx-hdpi吗?
是否真的有某个实际设备需要xxx-hdpi呢?
我将发布我的应用程序,这是一个1.2Mb的apk文件,其中包括4种不同格式(ldpi、mdpi、hdpi、x-hdpi)的大约120个图标。
如果我添加xx-dpi和xxx-hdpi的图标,apk文件会变得更大,加载时间会增加。
有很多入门级设备内存非常低,我希望我的应用程序在任何地方都能运行。
我真的需要添加xx-hdpi吗?
是否真的有某个实际设备需要xxx-hdpi呢?
你其实不需要使用xxxhdpi
。它只是因为Nexus 5的启动器图标缩放方式而被引入。
编辑
当我在2014年1月回答时,Nexus 5是唯一使用xxxhdpi
的设备。现在许多设备,包括Nexus 6和LG G3都在使用它。因此,在您的应用程序中包含它是一个好主意。
我们必须为Nexus 6、LG G3和三星Galaxy Note 4在我们的应用程序中添加xxxhdpi。未来将会有更多的xxxhdpi设备。
对于大多数图像,您不需要使用xxxhdpi。您只需要为启动器图标使用xxxhdpi。请参见http://developer.android.com/guide/practices/screens_support.html
除了启动器图标之外,您不应该使用xxxhdpi限定符来制作UI元素。
以上引用非常清楚。在他们提供的示例文件夹布局中,他们展示了所有密度的res/drawable
文件夹,直到-xxhdpi
,但是他们展示了res/mipmap
文件夹直到-xxxhdpi
。以下是更多引用:
xxxhdpi
用于额外-extra-extra-high-density(xxxhdpi)的资源(〜640dpi)。仅适用于启动器图标,请参见上面的注释。只有在xxhdpi设备上需要显示比平常更大的启动器图标时,才需要使用
mipmap-xxxhdpi
限定符。您无需为应用程序的所有图像提供xxxhdpi资源。
“180x180(3.0倍)用于超高密度显示”
。好吧,1.0倍是48像素,所以48 * 3 = 144。他们从哪里得到的180呢? - Csaba Toth根据Android图标文档说明:
一些设备会将启动器图标放大高达25%。例如,如果您的最高密度启动器图标图像已经是extra-extra-high density,则缩放过程会使其显示不够清晰。因此,您应该在drawable-xxxhdpi目录中提供更高密度的启动器图标,系统将使用它而不是缩放较小版本的图标。
注意:只有在需要在xxhdpi设备上显示比通常更大的启动器图标时才需要使用drawable-xxxhdpi限定符。您不需要为应用程序的所有图像提供xxxhdpi资产。
更多信息请参见:http://developer.android.com/design/style/iconography.html
以下是Android关于此事的说明:
提供不同的位图可绘制对象以适应不同的屏幕密度https://developer.android.com/guide/practices/screens_support.html
希望这可以帮到你。忘掉一切,让它变得简单!
只需将最高分辨率的图像存储在一个文件夹中。可以存储在drawable-hdpi中,并从其余的drawable文件夹中删除其他图像。
我已经在各种设备上进行了测试,效果非常好...