99 votes

"La toile: en essayant de tirer trop grande image" quand Android N Taille de l'Écran plus grand que les Petites

J'ai publié un app qui crash au démarrage sur Android N lors de la nouvellement introduite Display size OS paramètre est réglé sur une valeur trop élevée.

Quand je regarde dans le logcat, je vois le message suivant:

java.lang.RuntimeException: Canvas: trying to draw too large(106,975,232 bytes) bitmap.

J'ai tracé la question à un ImageView dans ma première Activité qui montre une belle et grande image de fond. L'image en question est 2048x1066 et il est à mon générique drawables répertoire, donc, peu importe la densité, cette image sera utilisée.

Tout fonctionne ok lorsque l' Display size réglage est - Small. Mais quand je vais à la Default, il s'arrête de fonctionner. Si je puis permuter l'image avec un plus petit, il travaille à l' Default, mais si je vais à la Large, il s'arrête de fonctionner à nouveau.

Ma conjecture est que le réglage d' Display size des causes de votre appareil de se comporter comme un physiquement plus petit appareil avec une haute densité de pixels. Mais je ne comprends pas ce que je suis censé faire ici. Si je mets de plus en plus petits des images pour progressivement les grandes résolutions, il ne sera pas l'air bien sur la réalité de la grande affiche. Ou je ne suis pas à comprendre quelque chose?

Tous les pointeurs serait grandement apprécié.

189voto

Johan Franzén Points 1164

J'mon cas, le déplacement de l' (hi-res) splash bitmap à partir d' drawable à drawable-xxhdpi était la solution.

J'ai eu le même problème. Je ne soupçonnais pas mon écran de démarrage pour être le problème, car il est affiché lorsque l'application est lancée, mais il s'est avéré que l'écran de démarrage est le problème.

L'écran de démarrage dans mon cas a xxhdpi résolution, et il a été malencontreusement placé dans le drawable dossier, au lieu de drawable-xxhdpi. De ce fait Android assumer l'écran de démarrage a mdpi de la résolution et de l'image à l'échelle 3*3 fois, il est nécessaire de taille et d'essayer de créer une image bitmap.

14voto

kazimad Points 101

Je ne sais pas serait-il aider quelqu'un, mais je vais le laisser ici. Dans mon cas le problème est uniquement sur Sumsung appareils avec Android 7, et le problème était dans l'écran de démarrage proportions. après la modification de la hauteur de 1024 px - tout fonctionne bien

9voto

kalsara Magamage Points 235

Déplacer votre image dans le drawable de mipmap-xxhdpi.Votre image est au format bitmap, donc, vous devriez mettre votre image dans mipmap dossier,ensuite, il sera

3voto

Khalid Ali Points 155

Essayez d'utiliser un Bitmap.Usine de classe, ce lien va vous aider à Le Chargement D'Un Grand Bitmaps Efficacement

0voto

lloydyu24 Points 345

L'icône fichiers sont trop gros pour Android, efficacement et en douceur de la charge. Android reconnaît cette avec ses algorithmes intelligents.

Vous pouvez redimensionner l'icône des fichiers à l'aide de Final Android Resizer par asystat. De les redimensionner pour "xhdpi" ou moins.

Placez les photos redimensionnées dans drawable ou écraser sur la grande icône des fichiers.

Alors, vous avez terminé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X