2
votes

For every app I'm developing I provide mdpi, hdpi, xhdpi, xxhpi resources (also launcher icon for xxxhdpi). Less and less devices are mdpi/hdpi that's why I'm wondering if is there any sense to provide these resources? Both xhdpi and xxhdpi resources can be easily scaled down to mdpi and hdpi accordingly (ratio 0.5).

The documentation states:

For example, when looking for a low-density resource and it is not available, the system prefers to scale-down the high-density version of the resource, because the system can easily scale a high-density resource down to low-density by a factor of 0.5, with fewer artifacts, compared to scaling a medium-density resource by a factor of 0.75.

I haven't found any articles describing the built-in scaling mechanism in comparison to 'native' resources for a given density.

Are there any benefits for providing mdpi and hdpi resources these days?

1
Android does its best to scale down fairly well. Most of the times you could have nearly perfect scaling just providing xxhdpi (at 480 dpi or they will scale badly) (or xxxhdpi at 640 dpi, for future devices) resources. But, if you want to provide true quality (at least, controlled by you), do the scaling yourself and provide all the supported resolutions resources.Phantômaxx
hmmm xxhdpi to mdpi icons is too much downscaling, specially for icons, i'd provide at least a lores version as well...rupps

1 Answers

1
votes

I don't think it is worth to provide resources for every density. I have an app with a lot of resources, and I decided to try providing only xxhpi resources.

I didn't see any difference in lower resolution devices, and I was able to reduce the .apk from 7.3MB to 4.4MB!

This said, even if you lose (let's say) 15% of quality, it will compensate only by reducing the .apk size, and consequently an increase of downloads!