可能重复:
为什么要为不同的密度提供多个可绘制对象?
假设我有一个启动画面,它的缩放方式总是适合全屏。打包同一图像的 4 个不同密度版本是否有意义?为什么不让android处理缩小?
另一个例子是按钮图标。为什么不只打包xhdpi
,让安卓来做呢?是内存问题吗?
可能重复:
为什么要为不同的密度提供多个可绘制对象?
假设我有一个启动画面,它的缩放方式总是适合全屏。打包同一图像的 4 个不同密度版本是否有意义?为什么不让android处理缩小?
另一个例子是按钮图标。为什么不只打包xhdpi
,让安卓来做呢?是内存问题吗?
打包同一图像的 4 个不同密度版本是否有意义?为什么不让 android 处理缩减?
这取决于您是否喜欢缩小比例的结果。如果你这样做,请使用它。如果您不这样做,请为需要的密度提供其他艺术品。
是内存问题吗?
部分原因是速度问题,因为下采样需要 CPU 时间(因此需要更多电池)。
部分原因是质量问题,因为 Android 的下采样意味着您无法最终控制图像的外观。您可能会对图像的下采样感到满意;其他开发人员可能对他们图像的下采样不满意。
例如,Nexus 7 是一个-tvdpi
设备。然而,谷歌并不关心-tvdpi
图像——他们让安卓对-xhdpi
图像进行下采样。这些图像对我来说似乎是完全合理的,显然对谷歌也是如此。OTOH,Google 确实提供-mdpi
图像,不仅用于-mdpi
设备,而且作为-ldpi
.