web-dev-qa-db-fra.com

Android xxx-hdpi real devices

Je vais publier mon application, c'est une apk de 1,2 Mo qui comprend environ 120 icônes dans 4 formats différents (ldpi, mdpi, hdpi, x-hdpi).

Si j'ajoute des icônes xx-dpi et xxx-hdpi, l'apk s'agrandit et le temps de chargement augmente.
Il existe de nombreux appareils d'entrée de gamme avec une mémoire très faible et j'aimerais que mon application fonctionne partout.

Dois-je vraiment ajouter xx-hdpi?

Et existe-t-il un véritable appareil qui nécessite xxx-hdpi?

24
j.c

Vous ne devriez pas vraiment avoir besoin de xxxhdpi. Il a été introduit uniquement en raison de la façon dont les icônes du lanceur sont mises à l'échelle sur le lanceur du Nexus 5

Edit Lorsque j'ai répondu en janvier 2014, le Nexus 5 était le seul appareil utilisant xxxhdpi. Maintenant, de nombreux appareils, y compris le Nexus 6 et LG G3 l'utilisent. Ce serait donc une bonne idée de l'inclure dans votre application.

31
John

Nous avons dû ajouter xxxhdpi à notre application pour le Nexus 6, LG G3 et Samsung Galaxy Note 4. Il y aura plus d'appareils xxxdhpi à l'avenir.

9
ToddH

Vous n'avez pas besoin de xxxhpdi pour la plupart de vos images. Vous n'avez besoin que de xxxhdpi pour votre icône de lanceur. Veuillez voir http://developer.Android.com/guide/practices/screens_support.html

Vous ne devez pas utiliser le qualificatif xxxhdpi pour les éléments d'interface utilisateur autres que l'icône du lanceur.

C'est assez clair dans la citation ci-dessus. Dans l'exemple de disposition de dossier qu'ils donnent, ils montrent toutes les densités pour le res/drawable dossiers jusqu'à -xxhdpi, mais ils montrent ensuite le res/mipmap dossiers jusqu'à -xxxhdpi. Voici d'autres citations:

xxxhdpi Ressources pour des utilisations extra-extra-extra-haute densité (xxxhdpi) (~ 640dpi). Utilisez-le uniquement pour l'icône du lanceur, voir la note ci-dessus.

Le mipmap-xxxhdpi le qualificatif est nécessaire uniquement pour fournir une icône de lancement qui peut apparaître plus grande que d'habitude sur un périphérique xxhdpi. Vous n'avez pas besoin de fournir des ressources xxxhdpi pour toutes les images de votre application.

6
Matt Quigley

Vous n'avez pas besoin de ldpi, car Android réduit hdpi en ldpi.

De https://developer.Android.com/design/style/iconography.html

Remarque: Android prend également en charge les écrans basse densité (LDPI), mais vous n'avez généralement pas besoin de créer des ressources personnalisées à cette taille car Android Android effectivement en baisse) met à l'échelle vos actifs HDPI de 1/2 pour correspondre à la taille attendue.

5
Marcin Bauer

De Android documentation iconographique elle-même:

Certains appareils augmentent jusqu'à 25% l'icône du lanceur. Par exemple, si votre image d'icône de lanceur de densité la plus élevée est déjà très haute densité, le processus de mise à l'échelle la rendra moins nette. Vous devez donc fournir une icône de lanceur de densité plus élevée dans le répertoire drawable-xxxhdpi, que le système utilise au lieu de mettre à l'échelle une version plus petite de l'icône.

Remarque: le qualificatif drawable-xxxhdpi est nécessaire uniquement pour fournir une icône de lanceur qui peut apparaître plus grande que d'habitude sur un périphérique xxhdpi. Vous n'avez pas besoin de fournir des ressources xxxhdpi pour toutes les images de votre application.

plus sur: http://developer.Android.com/design/style/iconography.html

5
ygbr

Je ne sais pas s'il existe un appareil qui nécessite xxx-hdpi, mais xx-hdpi n'est pas encore utilisé très souvent. Mais il en va de même pour ldpi, presque aucun appareil ne nécessite encore ldpi. Si vous ne faites que mdpi, hdpi et xhdpi, ce sera parfait. Si un appareil nécessite quelque chose de plus grand ou plus petit Android il suffit de le mettre à la bonne taille.

Voici ce que Android dit à ce sujet:

Fournir différents dessins bitmap pour différentes densités d'écran

Par défaut, Android met à l'échelle vos drawables bitmap (fichiers .png, .jpg et .gif) et Nine-Patch drawables (fichiers .9.png) afin qu'ils s'affichent à la taille physique appropriée Par exemple, si votre application fournit des tracés bitmap uniquement pour la ligne de base, densité d'écran moyenne (mdpi), le système les met à l'échelle lorsqu'ils sont sur un écran haute densité et les réduit à l'échelle lorsqu'ils sont sur un écran basse densité . Cette mise à l'échelle peut provoquer des artefacts dans les images bitmap. Pour garantir que vos images bitmap soient optimales, vous devez inclure des versions alternatives à différentes résolutions pour différentes densités d'écran. Les qualificatifs de configuration que vous pouvez utiliser pour les ressources spécifiques à la densité sont ldpi (faible), mdpi ( moyen), hdpi (élevé) et xhdpi (extra élevé). Par exemple, les images bitmap pour les écrans haute densité doivent être en format drawable-hdpi /.

Vous pouvez trouver la documentation ici:

https://developer.Android.com/guide/practices/screens_support.html

J'espère que cela t'aides

4
Kevin van Mierlo

Je pense que vous devriez vous concentrer sur les densités d'écran les plus populaires, qui sont hdpi, xhdpi et xxhdpi. Voir ceci lien pour la distribution moyenne mondiale actuelle de chaque densité.

2
Shylendra Madda