Google Is Preparing Android For The Future By Adding The XXXHDPI Category For Apps

google play store icon close up large banner 634x306x24 expand

With all the talk about Chromecast and TV screens, seems like Google thought it would be wise to be prepared for the future and decided to give Android the structure necessary for it. Whatever screen you’re using on your Android device, it’s not above the 480 ppi mark, that’s as high as the market goes this days with the HTC One, which has a 1080p display at 4.7-inches. The Nexus 10, the highest resolution tablet in the market at 2560 x 1600, only has 300 ppi, due to the fact that it’s a 10 inch screen.

The HTC One falls in the XXHDPI category, currently the highest category in the Android code, each DPI range has its own category, meaning that devices will only receive the category they need for better optimization, both on the device and for the download size, there’s no need to download assets in a resolution the device can’t use, this is what makes Android so efficient when it comes to serving all the different screen sizes. Every app has a range of folders, each for every category so the correct one can be used, those categories are:

  • Low DPI (LDPI) = 120DPI
  • Medium DPI (MDPI) = 160DPI (The T-Mobile G1)
  • High DPI (HDPI) = 240DPI (The Nexus S)
  • Extra High DPI (XHDPI) = 320DPI (The Galaxy Nexus/N4)
  • Extra Extra High DPI (XXHDPI) = 480DPI (the HTC One)

Well, turns out that Google has just added a new category: XXXHDPI. That’s a lot of Xs and that category is meant for devices with a DPI of 640, which is incredibly high, it would be like having a 2560 x 1536 screen on a Nexus 4 or any other 4.7 inch device, that’s just impossible with today’s technology. So, what kind of screen uses resolutions that high? Well, turns out that 4K televisions, which sit at 3840 x 2160 do and Google now supports it, but don’t worry, apps won’t generally create assets for this resolution, as Diane Hackborn said on the Android source commit:

Standard quantized DPI for extra-extra-extra-high-density screens. Applications should not generally worry about this density; relying on XHIGH graphics being scaled up to it should be sufficient for almost all cases.  A typical use of this density would be 4K television screens — 3840×2160, which is 2x a traditional HD 1920×1080 screen which runs at DENSITY_XHIGH.

Exactly, XHDPI is enough in most cases, apps will most likely have a ceiling of XXHDPI now that the HTC One is out there, but there’s no point in going up the scale yet unless you’re app is specifically design to run on a 4K TV.

Even the new Nexus 7, a full HD 7 inch display, sits only at 323 DPI.
Even the new Nexus 7, a full HD 7 inch display, sits only slightly above the Nexus 10 with 323 DPI.

We know that even with Google’s comment on TVs, manufacturers will try to keep having bigger and bigger DPI on their phones and tablets, just so they can have that so desired marketing phrase on their boxes as the “highest DPI in the market” even if our eyes can’t see the difference for anything above the 300 mark unless you have it right next to your face.

At least Android is ready for the future, and with all this talk about Android streaming to TVs, it makes sense for the OS to be prepared.