Super ultra mega HD resolution support is coming to a robot-themed OS near you, but before we get into that, let's talk about Android and DPI.

screens-ranges

Android devices come in tons of different resolutions, everything from a tiny 128x128 watch screen to the massive 2560x1600 resolution of the Nexus 10. Higher resolution screens need higher resolution apps with higher resolution image files. It doesn't make sense to serve up super-high resolution assets to low resolutions screens, so to make sure the right screens get the right size files, Android has several generalized DPI categories for image assets. Each of these categories matches up with a range of hardware screen DPIs:

  • 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)

Apps contain folders for each of these densities, and there are usually a full set of app images in each folder. The low resolution devices get the low resolution images, the high res devices get the high res images. It's all about efficiently using memory by serving up only the correctly sized image assets for each resolution.

So, if you haven't guessed by reading the title yet, Google has added a new DPI category to Android: XXXHDPI. This is for screens with an approximate DPI of six hundred and forty. Did you think we were stopping at 1080p? Hahahaha.

In the Android source commit, Android engineer Dianne Hackborn tries to inject some sanity into the situation by saying:

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 -- 3840x2160, which is 2x a traditional HD 1920x1080 screen which runs at DENSITY_XHIGH.

Televisions. The Android team intends this for 4k televisions. Android supports 4K TVs! Great.

You know who is going to listen to that? No one.

The HTC One's 468DPI was starting to push the limits of what an Android app could support. Now though, the marketing-driven design teams are free to pointlessly inflate phone DPIs to over 600 DPI. You know they are hard at work on that right now.

Heck, printers today claim to be able to print in the multi-thousand DPI range; if the print guys see no reason to stop, why do you think the display guys will?

So, prepare yourselves people. While you might not see any benefit from the increased resolution, this will make the marketing department very, very happy.