Пожалуйста, проверьте ссылку вопроса. Android подтвердил, что это была ошибка в O, которая, видимо, уже исправлена. Я еще не подтвердил это, но они приложили видео

ужно отключить анимацию перехода активности для всех экранов в моем приложении. Предыдущее решение отлично работало на всех версиях Android:

<style name="base_theme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowAnimationStyle">@null</item>
</style>

... но для Android 8 «Oreo» вызывает мигание черного экрана при каждом переходе (движение вперед или назад). То есть анимации по-прежнему нет, но очень раздражает мигание (вероятность 90%, ~ 20-30 миллисекунд, весь экран).

Согласно моим «исследованиям»:

не зависит от содержания активности и воспроизводится с пустыми действияминет никакой фоновой работы, которая могла бы замедлить процесс переходаIntent.FLAG_ACTIVITY_NO_ANIMATION также мигаетoverridePendingTransition (0,0) тоже не работает

Единственное решение, которое я смог найти:

Определить пустую анимацию перехода

<?xml version="1.0" encoding="utf-8"?>
<set />

и применить его к каждому виду деятельности в приложении (создать и завершить)

overridePendingTransition(R.anim.animation_activity_none, R.anim.animation_activity_none);

Вопрос:

Это какие-то новые ограничения для Oreo (то есть функция), или ошибка платформы, или, возможно, проблема приложения? Есть ли другие решения?

[ОБНОВИТЬ]

Еще одна находка. Убедитесь, что вы вызываете Activity finish () и overridePendingTransition () в главном потоке! В противном случае происходит скачок потока, и иногда overridePendingTransition не применяется.

[ОБНОВИТЬ]

Google подтвердил, что это ошибка в Android 8.0, предположительно исправленная в 8.1. Таким образом, исправление «пустой анимации» длится годами, пока minSdkVersion == 27.

Ответы на вопрос(1)

Ваш ответ на вопрос