Crash – дизайн материалов android 5.0

У меня большая проблема с моим приложением. Он падает, и я не знаю, почему.

В моем приложении у меня есть Activity с listview и customlistviewadapter а вторая Detailactivity . Я хочу добавить дизайн материала с Android Lollipop, и есть моя проблема. Я добавил хорошую транзакцию транзакций между двумя Activities .

Я беру изображение и заголовок из списка из списка и используя SparseArray<Bitmap> для переноса изображения, intent и ActivityOptions для переноса остальных моих данных.

Транзакция из моего первого Activity в DetailActivity отлично работает. В моей DetailActivity мне нужно загрузить больше данных, одно из которых – описание. В тексте описания есть \ n теги для новой строки, а иногда и теги xhtml. Чтобы избавиться от \ n тегов, я использую String mdesc = text.replace("\n", "<br />"); ,

Итак, теперь у меня есть только теги xhtml и чтобы они выглядели хорошо в моем текстовом представлении. Я использую эту строку description.setText(Html.fromHtml(mdesc)); ,

Также работает как шарм, но если я нажму кнопку «Назад», приложение выйдет из строя, когда количество символов в описании будет больше, чем ~ 3800.

Это мой логарифм:

 A/art﹕ art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: JNI CallVoidMethodV called with pending exception 'java.lang.IllegalStateException' thrown in void android.os.MessageQueue.nativePollOnce(long, i A/art﹕ art/runtime/check_jni.cc:65] in call to CallVoidMethodV A/art﹕ art/runtime/check_jni.cc:65] from void android.os.MessageQueue.nativePollOnce(long, int) A/art﹕ art/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable A/art﹕ art/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x737d5ec0 self=0xb5007800 A/art﹕ art/runtime/check_jni.cc:65] | sysTid=31960 nice=-6 cgrp=apps sched=0/0 handle=0xb6f40ec8 A/art﹕ art/runtime/check_jni.cc:65] | state=R schedstat=( 285569518384 174632061067 1598010 ) utm=17211 stm=11345 core=0 HZ=100 A/art﹕ art/runtime/check_jni.cc:65] | stack=0xbe3ad000-0xbe3af000 stackSize=8MB A/art﹕ art/runtime/check_jni.cc:65] | held mutexes= "mutator lock"(shared held) A/art﹕ art/runtime/check_jni.cc:65] native: #00 pc 00004c58 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23) A/art﹕ art/runtime/check_jni.cc:65] native: #01 pc 000034c1 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8) A/art﹕ art/runtime/check_jni.cc:65] native: #02 pc 0025918d /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+84) A/art﹕ art/runtime/check_jni.cc:65] native: #03 pc 0023cd13 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+162) A/art﹕ art/runtime/check_jni.cc:65] native: #04 pc 000b1195 /system/lib/libart.so (art::JniAbort(char const*, char const*)+620) A/art﹕ art/runtime/check_jni.cc:65] native: #05 pc 000b18c5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+68) A/art﹕ art/runtime/check_jni.cc:65] native: #06 pc 000b4b4d /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1324) A/art﹕ art/runtime/check_jni.cc:65] native: #07 pc 000bcf23 /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+42) A/art﹕ art/runtime/check_jni.cc:65] native: #08 pc 00060ad3 /system/lib/libandroid_runtime.so (???) A/art﹕ art/runtime/check_jni.cc:65] native: #09 pc 0007474d /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long long, int, unsigned int)+40) A/art﹕ art/runtime/check_jni.cc:65] native: #10 pc 00074915 /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::handleEvent(int, int, void*)+80) A/art﹕ art/runtime/check_jni.cc:65] native: #11 pc 00012545 /system/lib/libutils.so (android::Looper::pollInner(int)+484) A/art﹕ art/runtime/check_jni.cc:65] native: #12 pc 000125ed /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92) A/art﹕ art/runtime/check_jni.cc:65] native: #13 pc 0007fb61 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22) A/art﹕ art/runtime/check_jni.cc:65] native: #14 pc 000b0de7 /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102) A/art﹕ art/runtime/check_jni.cc:65] at android.os.MessageQueue.nativePollOnce(Native method) A/art﹕ art/runtime/check_jni.cc:65] at android.os.MessageQueue.next(MessageQueue.java:143) A/art﹕ art/runtime/check_jni.cc:65] at android.os.Looper.loop(Looper.java:122) A/art﹕ art/runtime/check_jni.cc:65] at android.app.ActivityThread.main(ActivityThread.java:5221) A/art﹕ art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke!(Native method) A/art﹕ art/runtime/check_jni.cc:65] at java.lang.reflect.Method.invoke(Method.java:372) A/art﹕ art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) A/art﹕ art/runtime/check_jni.cc:65] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) A/art﹕ art/runtime/check_jni.cc:65] A/art﹕ art/runtime/runtime.cc:283] Runtime aborting... A/art﹕ art/runtime/runtime.cc:283] Aborting thread: A/art﹕ art/runtime/runtime.cc:283] "main" prio=9 tid=1 Native A/art﹕ art/runtime/runtime.cc:283] | group="" sCount=0 dsCount=0 obj=0x737d5ec0 self=0xb5007800 A/art﹕ art/runtime/runtime.cc:283] | sysTid=31960 nice=-6 cgrp=apps sched=0/0 handle=0xb6f40ec8 A/art﹕ art/runtime/runtime.cc:283] | state=R schedstat=( 285595822403 174647533456 1598201 ) utm=17213 stm=11346 core=1 HZ=100 A/art﹕ art/runtime/runtime.cc:283] | stack=0xbe3ad000-0xbe3af000 stackSize=8MB A/art﹕ art/runtime/runtime.cc:283] | held mutexes= "abort lock" "mutator lock"(shared held) A/art﹕ art/runtime/runtime.cc:283] native: #00 pc 00004c58 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23) A/art﹕ art/runtime/runtime.cc:283] native: #01 pc 000034c1 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8) A/art﹕ art/runtime/runtime.cc:283] native: #02 pc 0025918d /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+84) A/art﹕ art/runtime/runtime.cc:283] native: #03 pc 0023cd13 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+162) A/art﹕ art/runtime/runtime.cc:283] native: #04 pc 0022c6a9 /system/lib/libart.so (art::AbortState::DumpThread(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, art::Thread*)+32) A/art﹕ art/runtime/runtime.cc:283] native: #05 pc 0022c94b /system/lib/libart.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+410) A/art﹕ art/runtime/runtime.cc:283] native: #06 pc 0022cb0b /system/lib/libart.so (art::Runtime::Abort()+82) A/art﹕ art/runtime/runtime.cc:283] native: #07 pc 000a7269 /system/lib/libart.so (art::LogMessage::~LogMessage()+1360) A/art﹕ art/runtime/runtime.cc:283] native: #08 pc 000b1381 /system/lib/libart.so (art::JniAbort(char const*, char const*)+1112) A/art﹕ art/runtime/runtime.cc:283] native: #09 pc 000b18c5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+68) A/art﹕ art/runtime/runtime.cc:283] native: #10 pc 000b4b4d /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1324) A/art﹕ art/runtime/runtime.cc:283] native: #11 pc 000bcf23 /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+42) A/art﹕ art/runtime/runtime.cc:283] native: #12 pc 00060ad3 /system/lib/libandroid_runtime.so (???) A/art﹕ art/runtime/runtime.cc:283] native: #13 pc 0007474d /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long long, int, unsigned int)+40) A/art﹕ art/runtime/runtime.cc:283] native: #14 pc 00074915 /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::handleEvent(int, int, void*)+80) A/art﹕ art/runtime/runtime.cc:283] native: #15 pc 00012545 /system/lib/libutils.so (android::Looper::pollInner(int)+484) A/art﹕ art/runtime/runtime.cc:283] native: #16 pc 000125ed /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92) A/art﹕ art/runtime/runtime.cc:283] native: #17 pc 0007fb61 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22) A/art﹕ art/runtime/runtime.cc:283] native: #18 pc 000b0de7 /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102) A/art﹕ art/runtime/runtime.cc:283] at android.os.MessageQueue.nativePollOnce(Native method) A/art﹕ art/runtime/runtime.cc:283] at android.os.MessageQueue.next(MessageQueue.java:143) A/art﹕ art/runtime/runtime.cc:283] at android.os.Looper.loop(Looper.java:122) A/art﹕ art/runtime/runtime.cc:283] at android.app.ActivityThread.main(ActivityThread.java:5221) A/art﹕ art/runtime/runtime.cc:283] at java.lang.reflect.Method.invoke!(Native method) A/art﹕ art/runtime/runtime.cc:283] at java.lang.reflect.Method.invoke(Method.java:372) A/art﹕ art/runtime/runtime.cc:283] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) A/art﹕ art/runtime/runtime.cc:283] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) A/art﹕ art/runtime/runtime.cc:283] Pending exception java.lang.IllegalStateException thrown by 'void android.os.MessageQueue.nativePollOnce(long, int):-2' A/art﹕ art/runtime/runtime.cc:283] java.lang.IllegalStateException: Unable to create layer for TextView A/art﹕ art/runtime/runtime.cc:283] at void android.os.MessageQueue.nativePollOnce(long, int) (MessageQueue.java:-2) A/art﹕ art/runtime/runtime.cc:283] at android.os.Message android.os.MessageQueue.next() (MessageQueue.java:143) A/art﹕ art/runtime/runtime.cc:283] at void android.os.Looper.loop() (Looper.java:122) A/art﹕ art/runtime/runtime.cc:283] at void android.app.ActivityThread.main(java.lang.String[]) (ActivityThread.java:5221) A/art﹕ art/runtime/runtime.cc:283] at java.lang.Object java.lang.reflect.Method.invoke!(java.lang.Object, java.lang.Object[], boolean) (Method.java:-2) A/art﹕ art/runtime/runtime.cc:283] at java.lang.Object java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (Method.java:372) A/art﹕ art/runtime/runtime.cc:283] at void com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run() (ZygoteInit.java:899) A/art﹕ art/runtime/runtime.cc:283] at void com.android.internal.os.ZygoteInit.main(java.lang.String[]) (ZygoteInit.java:694) A/art﹕ art/runtime/runtime.cc:283] Dumping all threads without appropriate locks held: thread list lock mutator lock A/art﹕ art/runtime/runtime.cc:283] All threads: A/art﹕ art/runtime/runtime.cc:283] DALVIK THREADS (52): A/art﹕ art/runtime/runtime.cc:283] "main" prio=9 tid=1 Native A/art﹕ art/runtime/runtime.cc:283] | group="" sCount=0 dsCount=0 obj=0x737d5ec0 self=0xb5007800 A/art﹕ art/runtime/runtime.cc:283] | sysTid=31960 nice=-6 cgrp=apps sched=0/0 handle=0xb6f40ec8 A/art﹕ art/runtime/runtime.cc:283] | state=R schedstat=( 285618908185 174654076164 1598229 ) utm=17214 stm=11347 core=0 HZ=100 A/art﹕ art/runtime/runtime.cc:283] | stack=0xbe3ad000-0xbe3af000 stackSize=8MB A/art﹕ art/runtime/runtime.cc:283] | held mutexes= "abort lock" A/art﹕ art/runtime/runtime.cc:283] native: #00 pc 00004c58 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23) A/art﹕ art/runtime/runtime.cc:283] native: #01 pc 000034c1 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8) A/art﹕ art/runtime/runtime.cc:283] native: #02 pc 0025918d /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+84) A/art﹕ art/runtime/runtime.cc:283] native: #03 pc 0023cd13 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+162) A/art﹕ art/runtime/runtime.cc:283] native: #04 pc 00245ea5 /system/lib/libart.so (art::ThreadList::DumpLocked(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+120) A/art﹕ art/runtime/runtime.cc:283] native: #05 pc 0022c8c1 /system/lib/libart.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+272) A/art﹕ art/runtime/runtime.cc:283] native: #06 pc 0022cb0b /system/lib/libart.so (art::Runtime::Abort()+82) A/art﹕ art/runtime/runtime.cc:283] native: #07 pc 000a7269 /system/lib/libart.so (art::LogMessage::~LogMessage()+1360) A/art﹕ art/runtime/runtime.cc:283] native: #08 pc 000b1381 /system/lib/libart.so (art::JniAbort(char const*, char const*)+1112) A/art﹕ art/runtime/runtime.cc:283] native: #09 pc 000b18c5 /system/lib/libart.so (art::JniAbortF(char const*, char const*, ...)+68) A/art﹕ art/runtime/runtime.cc:283] native: #10 pc 000b4b4d /system/lib/libart.so (art::ScopedCheck::ScopedCheck(_JNIEnv*, int, char const*)+1324) A/art﹕ art/runtime/runtime.cc:283] native: #11 pc 000bcf23 /system/lib/libart.so (art::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+42) A/art﹕ art/runtime/runtime.cc:283] native: #12 pc 00060ad3 /system/lib/libandroid_runtime.so (???) A/art﹕ art/runtime/runtime.cc:283] native: #13 pc 0007474d /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long long, int, unsigned int)+40) A/art﹕ art/runtime/runtime.cc:283] native: #14 pc 00074915 /system/lib/libandroid_runtime.so (android::NativeDisplayEventReceiver::handleEvent(int, int, void*)+80) A/art﹕ art/runtime/runtime.cc:283] native: #15 pc 00012545 /system/lib/libutils.so (android::Looper::pollInner(int)+484) A/art﹕ art/runtime/runtime.cc:283] native: #16 pc 000125ed /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92) A/art﹕ art/runtime/runtime.cc:283] native: #17 pc 0007fb61 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22) A/art﹕ art/runtime/runtime.cc:283] native: #18 pc 000b0de7 /data/dalvik-cache/arm/system@framework@boot.oat (Java_android_os_MessageQueue_nativePollOnce__JI+102) A/art﹕ art/runtime/runtime.cc:283] at android.os.MessageQueue.nativePollOnce(Native method) A/art﹕ art/runtime/runtime.cc:283] at android.os.MessageQueue.next(MessageQueue.java:143) A/art﹕ art/runtime/runtime.cc:283] at android.os.Looper.loop(Looper.java:122) A/art﹕ art/runtime/runtime.cc:283] at android.app.ActivityThread.main(ActivityThread.java:5221) A/art﹕ art/runtime/runtime.cc:283] at java.lang.reflect.Method.invoke!(Native method) A/art﹕ art/runtime/runtime.cc:283] at java.lang.reflect.Method.invoke(Method.java:372) A/art﹕ art/runtime/runtime.cc:283] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) A/art﹕ art/runtime/runtime.cc:283] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) A/art﹕ art/runtime/runtime.cc:283] A/art﹕ art/runtime/runtime.cc:283] "Heap thread pool worker thread 0" prio=9 tid=2 Native (still starting up) A/art﹕ art/runtime/runtime.cc:283] | group="" sCount=0 dsCount=0 obj=0x0 self=0xafe0e400 A/art﹕ art/runtime/runtime.cc:283] | sysTid=31966 nice=0 cgrp=apps sched=0/0 handle=0xac5a1a00 A/art﹕ art/runtime/runtime.cc:283] | state=S schedstat=( 879428 6643385 8 ) utm=0 stm=0 core=1 HZ=100 A/art﹕ art/runtime/runtime.cc:283] | stack=0xb4847000-0xb4849000 stackSize=1020KB A/art﹕ art/runtime/runtime.cc:283] | held mutexes= A/art﹕ art/runtime/runtime.cc:283] native: #00 pc 00012e98 /system/lib/libc.so (syscall+28) A/art﹕ art/runtime/runtime.cc:283] native: #01 pc 000a9fa3 /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+98) A/art﹕ art/runtime/runtime.cc:283] native: #02 pc 0024714d /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+64) A/art﹕ art/runtime/runtime.cc:283] native: #03 pc 002470e7 /system/lib/libart.so (art::ThreadPoolWorker::Run()+62) A/art﹕ art/runtime/runtime.cc:283] native: #04 pc 002479d5 /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+60) A/art﹕ art/runtime/runtime.cc:283] native: #05 pc 000162e3 /system/lib/libc.so (__pthread_start(void*)+30) A/art﹕ art/runtime/runtime.cc:283] native: #06 pc 000142d3 /system/lib/libc.so (__start_thread+6) A/art﹕ art/runtime/runtime.cc:283] (no managed stack frames) A/art﹕ art/runtime/runtime.cc:283] A/art﹕ art/runtime/runtime.cc:283] "Heap thread pool worker thread 2" prio=9 tid=3 Native (still starting up) A/art﹕ art/runtime/runtime.cc:283] | group="" sCount=0 dsCount=0 obj=0x0 self=0xafb0e400 A/art﹕ art/runtime/runtime.cc:283] | sysTid=31968 nice=0 cgrp=apps sched=0/0 handle=0xac5a1f00 A/art﹕ art/runtime/runtime.cc:283] | state=S schedstat=( 739842 1013075 7 ) utm=0 stm=0 core=1 HZ=100 A/art﹕ art/runtime/runtime.cc:283] | stack=0xb4645000-0xb4647000 stackSize=1020KB A/art﹕ art/runtime/runtime.cc:283] | held mutexes= A/art﹕ art/runtime/runtime.cc:283] native: #00 pc 00012e98 /system/lib/libc.so (syscall+28) A/art﹕ art/runtime/runtime.cc:283] native: #01 pc 000a9fa3 /system/lib/libart.so (art::ConditionVariable::Wait(art::Thread*)+98) A/art﹕ art/runtime/runtime.cc:283] native: #02 pc 0024714d /system/lib/libart.so (art::ThreadPool::GetTask(art::Thread*)+64) A/art﹕ art/runtime/runtime.cc:283] native: #03 pc 002470e7 /system/lib/libart.so (art::ThreadPoolWorker::Run()+62) A/art﹕ art/runtime/runtime.cc:283] native: #04 pc 002479d5 /system/lib/libart.so (art::ThreadPoolWorker::Callback(void*)+60) A/art﹕ art/runtime/runtime.cc:283] native: #05 pc 000162e3 /system/lib/libc.so (__pthread_start(void*)+30) A/art﹕ art/runtime/runtime.cc:283] native: #06 pc 000142d3 /system/lib/libc.so (__start_thread+6) A/art﹕ art/runtime/runtime.cc:283] (no managed stack frames) 

Я не мог добавить весь логарифм, поэтому я наклеил остальное на pastebin. Ссылка на пастебин здесь .

Спасибо за вашу помощь!

Solutions Collecting From Web of "Crash – дизайн материалов android 5.0"

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

 W/OpenGLRenderer﹕ Layer exceeds max. dimensions supported by the GPU (1080x5856, max=4096x4096) 

Анимация сцены работает, создавая растровый слой целевой сцены. Графический процессор имеет максимальную емкость для этого слоя. На Nexus 5 это 4096×4096. В вашей целевой сцене есть представления, которые приводят к слишком большому слою, вероятно, из-за большого количества текстового содержимого. Это превышает емкость графического процессора, вызывающего сбои приложения. Причина, по которой это не происходит в эмуляторе, заключается в том, что основной GPU имеет большую память.

Решение

Избегайте создания целевого слоя, который выше 4096, до окончания анимации перехода. Вместо этого загрузите контент после завершения перехода. Вы можете прослушать событие с завершением перехода, реализовав интерфейс TransitionListener . Пример этого можно найти здесь . Затем вы можете загрузить свой контент.

Лучшим решением, как было указано в других ответах, является добавление: android:transitionGroup="true" к длинному представлению (обычно ScrollView).

Что касается подхода к прослушивателю перехода, не забудьте снова создать свое представление при ротации, когда не было общей анимации.

У меня была эта проблема в Genymotion, эмуляторе AndroidStudio, пару реальных устройств.

Мои журналы были немного разными

(Fbo = 13 1440×196)

Но это не главное.

Эта проблема возникает во время перехода общего элемента, и основная причина заключается в том, что это целевая активность предварительного рендеринга (в которой заканчивается общий переход).

Поэтому, если эта активность действительно большая (с несколькими экранами прокручиваемого текста или длинной сеткой с изображениями, как в моем случае), вы получите эту ошибку.

Решение:

Разбивайте контент и загружайте не более 1-1,5 экранов контента за раз.

Это значительно уменьшит размер экрана, который предварительно отображается при переходе общих элементов (он предварительно отображается каждый раз, так что система знает, где разместить переходный объект после перехода)

Поскольку мне все еще нужно поддерживать все до версии для Android версии 9, ни android:transitionGroup="true" ни использование TransitionListener будут работать для меня. Я мог бы предотвратить эту проблему, отключив аппаратное ускорение на уровне активности:

 <activity android:hardwareAccelerated="false" /> 

Отключение его на уровне обзора не сработало для меня, но может работать для других:

 myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

У меня была та же проблема, я нашел способ избежать краха. Вы можете просто изменить обратный переход на другие, а не исчезать , например: explode / move / slide / …

Для этого вы можете просто добавить

 <item name="android:windowReturnTransition">@android:transition/explode</item> 

В ваш файл apptheme.