web-dev-qa-db-fra.com

Pourquoi la densité du Nexus 6 est de 560 dpi?

Comment préparer les ressources pour Nexus 6? Si je mets des images à xxxhdpi, elles seront réduites et perdront en qualité. Je mets des images à xxhdpi ils vont agrandir et perdre de la qualité. Pourquoi les développeurs ont-ils décidé de définir une valeur de 560 dpi pour la densité, si la densité réelle de 493ppi est plus proche de xxhdpi ~ 480dpi?

Le Nexus 6 est doté d’un impressionnant écran Quad HD de 5,96 pouces avec un résolution de 2560 x 1440 (493 ppi). Cela se traduit par ~ 730 x 410 dp (pixels indépendants de la densité).

Nexus 6 a une densité quantifiée de 560 dpi, qui se situe entre le Sondes de densité primaire xxhdpi et xxxhdpi.

Pour le Nexus 6, la plate-forme réduira les actifs de xxxhdpi, mais si ceux qui ne sont pas disponibles, il faudra alors augmenter les actifs de xxhdpi.

xxhdpi ~480dpi
xxxhdpi ~640dpi
31
anber

Dans le cas du Nexus 6, le fabricant a choisi une densité quantifiée de 560 (adb Shell getprop.sf.lcd_density), même si la densité physique est d’environ 493 (getResources (). GetDisplayMetrics (). ToString ()). Pour comprendre pourquoi ils peuvent le faire, il faut comprendre la signification de la densité quantifiée et son incidence sur le rendu des ressources d’image, ce qui est expliqué ici .

En bref, la densité quantifiée de 560 signifie que le facteur d’échelle utilisé pour charger/restituer les images sera de 3,5. Selon les mots de D. Hackborn, 'La densité ... est un seau de densité abstrait que le le fabricant de l'appareil a décidé qu'il était logique que son interface utilisateur fonctionne. C'est ce qui est utilisé pour évaluer des choses telles que les unités "dp" et pour sélectionner et mettre à l'échelle des bitmaps à partir de ressources. '

7
Joseph Johnson

Vous pouvez utiliser drawable-560dpi pour 560 dpi. Les images drawable-560dpi et drawable-xxxhdpi ont la même résolution.

6
Ramesh Kumar

Je pense que c'est une question valide. Certains périphériques sont entre dpis pris en charge (xxhdpi et xxxhdpi), utiliser des images fera une mise à l’échelle logicielle inutile. Je ne me soucie pas de la différence de qualité, mais cela affectera les performances de démarrage de l'application . Vérifiez variable sera mise à l'échelle dans BitmapFatory , si cela est vrai, la plate-forme effectuera une mise à l'échelle logicielle supplémentaire inutile. Idéalement, le matériel doit avoir une échelle directe avec openGL ES.

1
Prashant Sharma