For several years now, mobile device manufacturers have been in a race to push the pixel density of mobile devices higher and higher. The race began with the iPhone 4 “Retina” display – an at the time impressive 330 pixels per inch (PPI) 960x480 3.5” display.
sigh No, it did not.
Android started it on modern smart phones, with the original Droid that was 240dpi, and the platform itself introduced the robust multi-density support we have today a bit before that in 1.6, including full support for retina class and the ever increasing densities we see today.
But you know what? It doesn't make sense to say that Android started this, either. In fact Android from the start had core support for multiple display densities (through the dp units and such), but this happened because of previous experience at PalmSource where Palm devices had already experienced increases in display density, going from the original ~80dpi screen to high resolution 160dpi screens, and then trying to deal with 120dpi screens to be able to use then pervasive 240x320 panels.
The troubles of that last step -- trying to implement 1.5x scaling on a system where apps are using absolute layout of UI elements in pixel coordinates and the resulting strange rounding artifacts -- is a major element of what drove Android's original design. To be able to do non-integral scalings well, Android relies on layout managers to do final placement of UI elements, which run at the native screen resolution. The use of layout managers not only makes it a lot easier for applications to adjust to different screen sizes, but also allows scaling screen density by non-integral amounts without causing odd spacing between interface elements or having to use sub-pixel positioning of all elements and the resulting anti-aliasing artifacts.