PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Canvas: trying to draw too large bitmap
Canvas: trying to draw too large bitmap
Débuté par NEA, 25 oct. 2017 10:25 - 3 réponses
Membre enregistré
25 messages
Popularité : +1 (1 vote)
Posté le 25 octobre 2017 - 10:25
Bonjour tout le monde !

j'ai des soucis avec mon appli. il y a un utilisateur avec une tablette et un portable (Numéro de version d'Android=7.0 (unknown); Densité de l'écran=560; Résolution de l'écran=1440x2960). L'appli marche très bien depuis tablette, par contre depuis portable ça donne un erreur
===== Erreur =====
Date et heure=24/10/2017 15:29:53
Message=Canvas: trying to draw too large(160378240bytes) bitmap.
Pile Java=android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)
android.graphics.Canvas.drawBitmap(Canvas.java:1420)
android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:545)
android.widget.ImageView.onDraw(ImageView.java:1286)
fr.pcsoft.wdjava.ui.champs.image.j.onDraw(Unknown Source)
android.view.View.draw(View.java:18394)
android.view.View.updateDisplayListIfDirty(View.java:17372)
android.view.View.draw(View.java:18156)
android.view.ViewGroup.drawChild(ViewGroup.java:3969)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:3755)
fr.pcsoft.wdjava.ui.champs.p.dispatchDraw(Unknown Source)
android.view.View.updateDisplayListIfDirty(View.java:17367)
android.view.View.draw(View.java:18156)
android.view.ViewGroup.drawChild(ViewGroup.java:3969)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:3755)
android.view.View.draw(View.java:18397)
android.view.View.updateDisplayListIfDirty(View.java:17372)
android.view.View.draw(View.java:18156)
android.view.ViewGroup.drawChild(ViewGroup.java:3969)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:3755)
android.view.View.draw(View.java:18397)
android.widget.ScrollView.draw(ScrollView.java:2773)
android.view.View.updateDisplayListIfDirty(View.java:17372)
android.view.View.draw(View.java:18156)
android.view.ViewGroup.drawChild(ViewGroup.java:3969)
android.support.v4.widget.DrawerLayout.drawChild(DrawerLayout.java:1229)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:3755)
android.view.View.updateDisplayListIfDirty(View.java:17367)
android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3953)
android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3933)
android.view.View.updateDisplayListIfDirty(View.java:17335)
android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3953)
android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3933)
android.view.View.updateDisplayListIfDirty(View.java:17335)
android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3953)
android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3933)
android.view.View.updateDisplayListIfDirty(View.java:17335)
android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:722)
android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:728)
android.view.ThreadedRenderer.draw(ThreadedRenderer.java:836)
android.view.ViewRootImpl.draw(ViewRootImpl.java:3181)
android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2977)
android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2565)
android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1550)
android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7189)
android.view.Choreographer$CallbackRecord.run(Choreographer.java:959)
android.view.Choreographer.doCallbacks(Choreographer.java:734)
android.view.Choreographer.doFrame(Choreographer.java:670)
android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:945)
android.os.Handler.handleCallback(Handler.java:751)
android.os.Handler.dispatchMessage(Handler.java:95)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6776)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Thread=id=1
name=main
priority=5
groupName=main

===== Copie d'écran =====
Chemin=file:///storage/emulated/0/Android/data/com.masociete.gestan_mobile/cache/err1508851793545.png

===== Application =====
Nom de l'application=GESTAN_Mobile_2_0
Version de l'application=2.0.99.0
Nom du package=com.masociete.gestan_mobile
Date et heure de lancement=24/10/2017 15:29:27

===== Appareil =====
Modèle=SM-G955F
Constructeur=samsung
Marque=samsung

===== Système =====
Numéro de version d'Android=7.0 (unknown)
Api Level Android=24
Mémoire de stockage interne totale=53,98 Go
Mémoire de stockage interne disponible=10,20 Go
Densité de l'écran=560
Résolution de l'écran=1440x2960


C'est tout à fait compréhensible que l'erreur vient de la résolution de l'écran et des taille d'image, mais comment je peux "fixe it"?

Merci de vos réponses !
Membre enregistré
17 messages
Popularité : +1 (1 vote)
Posté le 17 septembre 2018 - 11:45
Bonjour

Est ce que tu as trouvé une solution pour ton problème .

Je rencontre le même type de message avec un type de téléphone.

Merci
Gildas

--
CRAM
Posté le 19 mars 2023 - 16:27
Bonjour,

Vu le nombre de reponse, j'en conclu que c'est pas un probleme coutant.
Mais si vous avez trouvé une solution, ça m'interesse car je but sur ce probleme dzpuis un petit moment deja.

Merci.
Membre enregistré
5 messages
Posté le 28 septembre 2023 - 07:41
Bonjour,

Pour ma part j'ai trouvé le problème, il venait de l'image en background. Une fois enlevé, plus de problème.
Peut-être que la résolution de l'image est trop élevé pour le device.

Bien dev