Los dispositivos Android tienen pantallas con una grandísima variedad de resoluciones en píxeles por pulgada. Para ayudar a los programadores, el sistema operativo ofrece una unidad de medida, un “píxel ajeno a la densidad de pantalla”:
Un píxel virtual que las aplicaciones pueden usar a la hora de definir su interfaz de usuario, para expresar dimensiones o posiciones de forma ajena a la densidad de píxeles.
El píxel ajeno a la densidad de pantalla (dip) equivale a un pixel físico en una pantalla de 160 ppp, la densidad de pantalla mínima asumida por la plataforma (como se describe en este documento). En tiempo de ejecución, la plataforma gestiona de forma transparente el escalado de las unidades dips necesarias, basándose en la densidad real de la pantalla que se utilice. La conversión unidades dip a píxeles de pantalla es sencilla:
píxeles = dips * (densidad / 160)
. Por ejemplo, en una pantalla de 240 ppp, 1 dip equivaldría a 1,5 píxeles reales de la pantalla. Se recomienda usar dips para definir el interfaz de usuario de las aplicaciones como un modo de asegurarse de que el interfaz se muestra correctamente en distintas pantallas.
Imagino que Apple hará algo parecido, salvo que al pasar directamente de 480 × 320 a 960 × 640, todo pasa a ser el doble en términos de píxeles y no salen decimales en el factor de reescalado.