The Android documentation says that best practices are to make two drawable directories – one for HDPI and one for MDPI. It also says that if the MDPI directory doesn’t exist and a MDPI device is running the app, it will scale down the HDPI ones so everything looks good.
Is there any reason not to just make one high resolution set of graphics?
One con that I can think of is performance issues and one pro I can think of is only having one set of images for your app.
Basically, the situation with this could be extrapolated for most of the best practices:
You can do it otherwise, but most often that not, you shouldn’t.
It’s not that you can’t go only with
drawable-hdpi, but the addition ofdrawable-ldpianddrawable-mdpioffers you the ability to customize and fine tune your assets, at the price of bulking up a little your application.Please, keep in mind that this bulking up won’t be so dramatic – if you assume that:
the folder
drawable-mdpiwill be just 37% ofdrawable-hdpianddrawable-ldpiwill be just 18% ofdrawable-hdpiAlso suffixes for res folders are especially useful when used together – you can have full control over the application. In some cases, resources are pre-defined for a lot more than high-medium-low density screens, so I would say that you shouldn’t worry that much for the additional bulk.
As you’ve thought out, you can avoid the dynamic scaling of the resources (worse than scaling beforehand). It won’t be that much of a problem, but most of the time, if you can avoid operations on the device by doing additional preparations in the development/production process, that’s a good thing.