Ошибка OpenGLRenderer в Android при использовании почти идентичных изображенийAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Ошибка OpenGLRenderer в Android при использовании почти идентичных изображений

Сообщение Anonymous »


Я получаю действительно странную ошибку. У меня есть очень простой фрагмент в Android, который должен просто отображать созданный мной с помощью Inkscape элемент imageView с именем «test_v1» и файлом png.


Изображение


XML-код выглядит следующим образом:

Код Java выглядит следующим образом:

import android.os.Bundle; импортировать android.view.LayoutInflater; импортировать android.view.View; импортировать android.view.ViewGroup; импортировать androidx.fragment.app.Fragment; общественный класс FR_Test расширяет фрагмент { общественный FR_Test() { // Требуемый пустой публичный конструктор } @Override public View onCreateView (инфлятор LayoutInflater, контейнер ViewGroup, Пакет saveInstanceState) { // Раздуваем макет для этого фрагмента return inflater.inflate(R.layout.fragment_test, контейнер, false); } } При запуске кода (с использованием двух разных эмуляторов) я получаю странную ошибку рендеринга:

2023-12-22 15:58:21.791 11047-11069 OpenGLRenderer com.example.td.barapp E Ошибка GL: GL_INVALID_OPERATION 2023-12-22 15:58:21.791 11047-11069 OpenGLRenderer com.example.td.barapp Ошибки GL! frameworks/base/libs/hwui/pipeline/skia/SkiaOpenGLPipeline.cpp:127 2023-12-22 15:58:21.976 11047-11069 ample.td.barap com.example.td.barapp A runtime.cc:655] Прерывание выполнения... runtime.cc:655] Дамп всех потоков без удержания блокировки мутатора. runtime.cc:655] Все темы: runtime.cc:655] DALVIK THREADS (20): runtime.cc:655] "RenderThread" prio=10 tid=18 Выполняемый runtime.cc:655] | group="" sCount=0 dsCount=0 flags=0 obj=0x134806d8 self=0xddb0ee10 runtime.cc:655] | sysTid=11069 nice=-10 cgrp=top-app sched=0/0 handle=0xbc8ba1e0 runtime.cc:655] | состояние=R schedstat=( 1191413791 89741236 664 ) utm=5 stm=114 ядро=1 HZ=100 runtime.cc:655] | стек = 0xbc7bf000-0xbc7c1000 stackSize = 1008 КБ runtime.cc:655] | удерживаемые мьютексы = «блокировка отмены» «блокировка мутатора» (совместное удержание) runtime.cc:655] собственный: #00 pc 00544bfe /apex/com.android.art/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+110) runtime.cc:655] собственный: #01 pc 006a26f7 /apex/com.android.art/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream&, bool, BacktraceMap*, bool) const+1015) runtime.cc:655] собственный: #02 pc 0069bfd1 /apex/com.android.art/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream&, bool, BacktraceMap*, bool) const+65) runtime.cc:655] собственный: #03 pc 006c8014 /apex/com.android.art/lib/libart.so (art::DumpCheckpoint::Run(art::Thread*)+1172) runtime.cc:655] собственный: #04 pc 006c10c6 /apex/com.android.art/lib/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+630) runtime.cc:655] собственный: #05 pc 006c002e /apex/com.android.art/lib/libart.so (art::ThreadList::Dump(std::__1::basic_ostream&, bool)+2446) runtime.cc:655] собственный: #06 pc 006540dd /apex/com.android.art/lib/libart.so (art::AbortState::DumpAllThreads(std::__1::basic_ostream&, art::Thread*) const+445) runtime.cc:655] собственный: #07 pc 0063b6af /apex/com.android.art/lib/libart.so (art::Runtime::Abort(char const*)+1967) runtime.cc:655] собственный: #08 pc 00025a23 /apex/com.android.art/lib/libartbase.so (std::__1::__function::__func::operator()(char const*&&)+35) runtime.cc:655] собственный: #09 pc 0001588f /system/lib/libbase.so (android::base::SetAborter(std::__1::function&&)::$_3 ::__invoke(char const*)+79) runtime.cc:655] собственный: #10 pc 00006dbd /system/lib/liblog.so (__android_log_assert+285) runtime.cc:655] собственный: #11 pc 0024dd11 /system/lib/libhwui.so (android::uirenderer::skiapipeline::SkiaOpenGLPipeline::swapBuffers(android::uirenderer::renderthread::Frame const&, bool, SkRect const&, android::uirenderer::FrameInfo*, bool*)+145) runtime.cc:655] собственный: #12 pc 00257e78 /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::draw()+1112) runtime.cc:655] собственный: #13 pc 0025ab5f /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvveEEclEv$c303f2d2360db 58ed70a2d0ac7ed911b+767) runtime.cc:655] собственный: #14 pc 0024542d /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+285) runtime.cc:655] собственный: #15 pc 0026cabf /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+127) runtime.cc:655] собственный: #16 pc 00015116 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+374) runtime.cc:655] собственный: #17 pc 000147d9 /system/lib/libutils.so (thread_data_t::trampoline(thread_data_t const*)+457) runtime.cc:655] собственный: #18 pc 000e6974 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100) runtime.cc:655] собственный: #19 ПК 00078567 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) runtime.cc:655] (нет управляемых кадров стека) время выполнения.cc:655] runtime.cc:655] "main" prio=10 tid=1 Собственный runtime.cc:655] | группа="" sCount=1 dsCount=0 flags=1 obj=0x71e742e0 self=0xddb06210 2023-12-22 15:58:21.976 11047-11069 ample.td.barap com.example.td.barapp A runtime.cc:655] | sysTid=11047 nice=-10 cgrp=top-app sched=0/0 handle=0xec08f478 runtime.cc:655] | состояние=S schedstat=( 1445030526 396377813 944 ) utm=78 stm=66 ядро=3 HZ=100 runtime.cc:655] | стек = 0xff41b000-0xff41d000 stackSize = 8192 КБ runtime.cc:655] | удерживаемые мьютексы= runtime.cc:655] собственный: #00 pc 00000b97 [vdso] (__kernel_vsyscall+7) runtime.cc:655] собственный: #01 pc 0005ad68 /apex/com.android.runtime/lib/bionic/libc.so (syscall+40) runtime.cc:655] встроенный: #02 pc 0007725e /apex/com.android.runtime/lib/bionic/libc.so (__futex_wait_ex(void Volaty*, bool, int, bool, timespec const*)+142) runtime.cc:655] собственный: #03 pc 000e5b2e /apex/com.android.runtime/lib/bionic/libc.so (pthread_cond_wait+62) runtime.cc:655] собственный: #04 pc 0025a146 /system/lib/libhwui.so (android::uirenderer::renderthread::DrawFrameTask::postAndWait()+182) runtime.cc:655] родной: #05 pc 0023922d /system/lib/libhwui.so (android::android_view_ThreadedRenderer_syncAndDrawFrame(_JNIEnv*, _jobject*, long long, _jlongArray*, int)+109) runtime.cc:655] в android.graphics.HardwareRenderer.nSyncAndDrawFrame (собственный метод) runtime.cc:655] в android.graphics.HardwareRenderer.syncAndDrawFrame(HardwareRenderer.java:433) runtime.cc:655] в android.view.ThreadedRenderer.draw(ThreadedRenderer.java:658) runtime.cc:655] в android.view.ViewRootImpl.draw(ViewRootImpl.java:4101) runtime.cc:655] в android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3828) runtime.cc:655] в android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3099) runtime.cc:655] в android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1952) runtime.cc:655] в android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8171) runtime.cc:655] по адресу android.view.Choreographer$CallbackRecord.run(Choreographer.java:972) runtime.cc:655] в android.view.Choreographer.doCallbacks(Choreographer.java:796) runtime.cc:655] в android.view.Choreographer.doFrame(Choreographer.java:731) runtime.cc:655] в android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957) runtime.cc:655] в android.os.Handler.handleCallback(Handler.java:938) runtime.cc:655] в android.os.Handler.dispatchMessage(Handler.java:99) runtime.cc:655] в android.os.Looper.loop(Looper.java:223) runtime.cc:655] в android.app.ActivityThread.main(ActivityThread.java:7656) runtime.cc:655] в java.lang.reflect.Method.invoke (собственный метод) runtime.cc:655] по адресу com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) runtime.cc:655] по адресу com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) время выполнения.cc:655] runtime.cc:655] «Перехватчик сигналов» prio=10 tid=6 WaitingInMainSignalCatcherLoop runtime.cc:655] | группа="" sCount=1 dsCount=0 flags=1 obj=0x13480228 self=0xddb07e10 runtime.cc:655] | sysTid=11057 nice=-20 cgrp=top-app sched=0/0 handle=0xd2e121e0 runtime.cc:655] | состояние=S schedstat=( 1135270 51894 1 ) utm=0 stm=0 core=1 HZ=100 runtime.cc:655] | стек = 0xd2d17000-0xd2d19000 stackSize = 1008 КБ runtime.cc:655] | удерживаемые мьютексы= runtime.cc:655] собственный: #00 pc 00000b99 [vdso] (__kernel_vsyscall+9) runtime.cc:655] собственный: #01 pc 000ce821 /apex/com.android.runtime/lib/bionic/libc.so (__rt_sigtimedwait+33) runtime.cc:655] собственный: #02 pc 00086c55 /apex/com.android.runtime/lib/bionic/libc.so (sigwait+69) runtime.cc:655] собственный: #03 pc 00667d7d /apex/com.android.art/lib/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+461) runtime.cc:655] собственный: #04 pc 0066675f /apex/com.android.art/lib/libart.so (art::SignalCatcher::Run(void*)+479) runtime.cc:655] собственный: #05 pc 000e6974 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100) runtime.cc:655] собственный: #06 pc 00078567 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) runtime.cc:655] (нет управляемых кадров стека) время выполнения.cc:655] runtime.cc:655] "perfetto_hprof_listener" prio=10 tid=7 Собственный (все еще запускается) 2023-12-22 15:58:21.976 11047-11069 ample.td.barap com.example.td.barapp A runtime.cc:655] | group="" sCount=1 dsCount=0 flags=1 obj=0x0 self=0xddb09a10 runtime.cc:655] | sysTid=11058 nice=-20 cgrp=top-app sched=0/0 handle=0xd2d111e0 runtime.cc:655] | состояние=S schedstat=( 985039 0 1 ) utm=0 stm=0 ядро=1 HZ=100 runtime.cc:655] | стек = 0xd2c16000-0xd2c18000 stackSize = 1008 КБ runtime.cc:655] | удерживаемые мьютексы= runtime.cc:655] собственный: #00 pc 00000b97 [vdso] (__kernel_vsyscall+7) runtime.cc:655] собственный: #01 pc 000ccf9c /apex/com.android.runtime/lib/bionic/libc.so (прочитано +28) runtime.cc:655] собственный: #02 pc 0001aca2 /apex/com.android.art/lib/libperfetto_hprof.so (void* std::__1::__thread_proxy(недействительно*)+306) runtime.cc:655] собственный: #03 pc 000e6974 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+100) runtime.cc:655] собственный: #04 pc 00078567 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+71) runtime.cc:655] (нет управляемых кадров стека) время выполнения.cc:655] runtime.cc:655] «Поток управления соединением ADB-JDWP» prio=10 tid=8 WaitingInMainDebuggerLoop runtime.cc:655] | group="" sCount=1 dsCount=0 flags=1 obj=0x134802a0 self=0xddb04610 runtime.cc:655] | sysTid=11059 nice=-20 cgrp=top-app sched=0/0 handle=0xd2c101e0 runtime.cc:655] | состояние=S schedstat=( 5383975 12206480 17 ) utm=0 stm=0 ядро=1 HZ=100 runtime.cc:655] | стек=0xd2b15000-0xd2b17000 stackSize=1008КБ runtime.cc:655] | удерживаемые мьютексы= runtime.cc:655] собственный: #00 pc 00000b99 [vdso] (__kernel_vsyscall+9) runtime.cc:655] собственный: #01 pc 000cf496 /apex/com.android.runtime/lib/bionic/libc.so (__ppoll+38) Действительно странно то, что когда я открываю файл png с помощью MS Paint, просто рисую один пиксель (который вы даже не видите) и даю файлу другое имя «test_v2», проблема не возникает. Здесь вы можете увидеть «test_v2»
Изображение


Напоминание. Может ли кто-нибудь объяснить это очень странное поведение или хотя бы попытаться его объяснить?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»