Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
allevashov
0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 60
1

RuntimeException: Canvas: trying to draw too large

05.02.2019, 16:03. Просмотров 2290. Ответов 5
Метки нет (Все метки)

Имеется приложение в виде готового apk, при установке на андроид 7 и старше, а также на девятки -никаких проблем. Если устанавливать на 8-ки - при запуске ошибки вида "Приложение ХХХХ остановлено" либо "ХХХХ все время закрывается" примерно в половине случаев.

Логи проверить нет возможности - все устройства на руках у человеков. Локальные логи ошибок не вылетают.

В коде, судя по всему, проблем нет - вылетают только те, что на восьмерке (всего проверял на трех-четырех десятках устройств, из них восьмерок было восемь, не запустилось на четырех)

При запуске эмулятора в Android Studio в логах Run-а проскакивает вот такая строчка:

E/dalvikvm: Could not find class 'android.graphics.drawable.RippleDrawable', referenced from method android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering

подсвеченная красным, но приложение запускается без проблем.

Куда копать? Если надо код - выложу, но мне кажется дело не только и не столько в нем...

Добавлено через 50 минут
если поможет - вот выдержка из багрепорта одного из телефонов на котором не заапустилось

02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: FATAL EXCEPTION: main
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: Process: com.example.user.kamonline_final, PID: 14169
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: java.lang.RuntimeException: Canvas: trying to draw too large(120422400bytes) bitmap.
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:529)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.getDrawableRenderNode(View.java:20627)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.drawBackground(View.java:20563)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.draw(View.java:20343)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:19297)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.draw(View.java:20075)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:19288)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.draw(View.java:20075)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:19288)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.draw(View.java:20075)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:19288)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.draw(View.java:20075)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:19288)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.draw(View.java:20075)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.drawChild(ViewGroup.java:4421)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4207)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.draw(View.java:20355)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at com.android.internal.policy.DecorView.draw(DecorView.java:979)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.View.updateDisplayListIfDirty(View.java:19297)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:800)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewRootImpl.draw(ViewRootImpl.java:3488)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3275)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2810)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1779)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7810)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:723)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:658)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:789)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:98)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6938)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
02-05 13:04:35.282 10359 14169 14169 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Попытка отрисовать слишком большой битмап (120 мег). Но у меня таких нет в проекте...
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2019, 16:03
Ответы с готовыми решениями:

canvas draw lines, fill color
Привет! Есть canvas. На нем рисую три линии методами drawLine();. Задача: как залить...

Canvas.Draw
Подскажите, пожалуйста, ответ на такой вопрос: вот я создаю редактор для простенькой игры с помощью...

Canvas.draw
надо нарисовать линию над image1 при этим не повридит image1.picture вот мой код unit...

Gif в Canvas.Draw
Доброго времени суток всем. С графикой работать только начинаю и встает сразу вопрос: нужно...

Замена canvas.draw
Как в firemonkey заменить form1.canvas.draw(0,0,bmp)? Такой функции там нет, есть Drawbitmap, но в...

5
jaman_smk
109 / 88 / 28
Регистрация: 07.01.2017
Сообщений: 447
05.02.2019, 16:06 2
allevashov, проверял как? Логи была возможность снять? На какой версии ОС в эмуляторе запускаешь? Вот твой красный код: https://stackoverflow.com/questions/...aphics-drawabl

Добавлено через 26 секунд
allevashov, https://www.google.com/search?client...ytes%29+bitmap.
0
Pablito
2865 / 2277 / 768
Регистрация: 12.05.2014
Сообщений: 7,978
Завершенные тесты: 1
05.02.2019, 16:06 3
Лучший ответ Сообщение было отмечено allevashov как решение

Решение

полюбому картинка большая есть
причем она может занимать мало в килобайтах, но быть большой в пикселях
1
jaman_smk
109 / 88 / 28
Регистрация: 07.01.2017
Сообщений: 447
05.02.2019, 16:07 4
Лучший ответ Сообщение было отмечено allevashov как решение

Решение

allevashov, разрешение изображения попробуй уменьшить.
1
allevashov
0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 60
05.02.2019, 16:17  [ТС] 5
Цитата Сообщение от Pablito Посмотреть сообщение
полюбому картинка большая есть
причем она может занимать мало в килобайтах, но быть большой в пикселях
1920х1280 на 27 килобайт. Оно?

Добавлено через 7 минут
Да, точно в разрешении этого файла трабла была. Никогда бы не подумал... Спасибо
0
jaman_smk
109 / 88 / 28
Регистрация: 07.01.2017
Сообщений: 447
05.02.2019, 16:18 6
allevashov, +
0
05.02.2019, 16:18
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2019, 16:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Canvas - Draw. на TImage
Всем привет! У меня вопрос. Решил что на канве рисовать проще чем создавать тучу TImage одного...

Координаты Images и записать из в Canvas->Draw(x,y)
Помогите получить координаты Images и записать из в Canvas->Draw(x,y),что бы при перемещении Images...

Canvas.Draw Как растянуть картинку
Помогите пожалуйста. Дана картинка 30на30, как её нарисовать на Image размером 50на50 или NнаN.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.