RuntimeException: Canvas: trying to draw too large(120153600bytes) bitmap

Bonjour Maxime, draken,

J’ai effectué les tests sur 2 mobiles
OnePlus 7pro Android 10
Nexus 6 p rom stock Android 8

2 avd
Nexus 6p Android 8
Nexus 6p Android 10
Pixel xl Android 8
Pixel xl Android 10

Avec les images du cours, Sur tous les devices physiques et AVD en Android 10 ça marche.
Les mêmes sous Android 8 ça plante.

Si j’ai bien compris, il faut mettre les images en taille réduite dans chaque répertoire ressource ?
Sans rentrer dans le détail technique, je suppose que la vrai gestion d’un vrai diaporama ne se fait pas en prenant des photos dans les ressources ?

Merci pour votre réponse aide

Oui il te faut mettre des

  • petites résolutions dans les versions ldpi
  • moyennes résolutions dans les versions mdpi
  • hautes résolutions dans les versions hdpi
  • très hautes résolutions dans les versions xhdpi
  • très très hautes résolutions dans les versions xxhdpi
  • etc.

Effectivement, en prenant les images dans les ressources, l’utilisateur ne peut pas les choisir ni les modifier. Uniquement le développeur peut déposer des ressources avant la compilation, elle ne sont plus modifiables par la suite.
Généralement on va plutôt charger les images depuis Internet ou la pellicule photo du tel pour une app de diaporama que l’on mettrait sur le play store

Non, par contre en chargeant des ressources d’une source extérieure on peut contrôler leurs tailles et l’ajuster si nécessaire pour éviter un problème avec le device courant.

Merci pour vos explications.
@mbritto c’est étonnant que personne d’autre n’ait eu le problème.

Est-ce que le problème apparait avec le simulateur ? Pour ma part je n’ai jamais transféré un exercice de Kotlin sur un vrai terminal, n’utilisant que les simulateurs. J’ai pourtant dépensé 600 euros pour un Android de bonne marque, sans jamais l’utiliser en fait …

Hello,

Oui, j’ai effectué les tests sur 2 mobiles
OnePlus 7pro Android 10
Nexus 6 p rom stock Android 8
Et sur 2 AVD (emulateur)
Nexus 6p Android 8
Nexus 6p Android 10
Pixel xl Android 8
Pixel xl Android 10