Автоматическая отмена Lottie Animation в Android

Я использую анимацию лотереи внутри моего recyclerView. Вот мой источник

     if (story.isRead)
            lottieAnimationView.setAnimation("story_archive_gray.json");
        else
            lottieAnimationView.setAnimation("story_archive_blue.json");



        final LinearLayout loadMoreContainer = v.findViewById(R.id.load_more_container);
        loadMoreContainer.setVisibility(story.isLastElement ? View.VISIBLE : View.GONE);

        rootView.setOnClickListener(view -> {

            lottieAnimationView.addAnimatorListener(new Animator.AnimatorListener() {
                @Override
                public void onAnimationStart(Animator animation) {
                }

                @Override
                public void onAnimationEnd(Animator animation) {
                    SPLogger.logMassage("animationListener","onAnimationEnd");
                    animation.cancel();
                    //call activity
                }

                @Override
                public void onAnimationCancel(Animator animation) {
                    SPLogger.logMassage("animationListener","onAnimationCancel");

                }

                @Override
                public void onAnimationRepeat(Animator animation) {
                    SPLogger.logMassage("animationListener","onAnimationRepeat");



                }
            });
            lottieAnimationView.playAnimation();

        });

У меня есть одна проблема, иногда анимация не заканчивается, и onAnimationCancel вызывается автоматически. Кто-нибудь может сказать мне причину? Я помещаю свои файлы json в папки активов


person BekaKK    schedule 08.04.2019    source источник
comment
^ не точная копия, но это, вероятно, причина отмены.   -  person Martin Zeitler    schedule 09.04.2019
comment
Я использую пользовательский вид, а не recyclerView @Martin Zeitler   -  person BekaKK    schedule 09.04.2019
comment
у вас есть опыт работы с Лотти?   -  person BekaKK    schedule 09.04.2019
comment
У меня есть, поэтому я думаю, что что-то выше в иерархии представлений может помешать и привести к отмене анимации. вы можете установить точку останова в onAnimationCancel(), а затем проверить стек вызовов, если можно увидеть источник.   -  person Martin Zeitler    schedule 09.04.2019
comment
Я могу поделиться своим xml-кодом, если хотите @Martin Zeitler   -  person BekaKK    schedule 09.04.2019
comment
это может сделать вопрос более ясным, потому что вы ссылаетесь на RecyclerView ...   -  person Martin Zeitler    schedule 09.04.2019
comment
лучше попробуй поставить точку останова, чтобы узнать, что происходит... Я сейчас готовлю.   -  person Martin Zeitler    schedule 09.04.2019
comment
Я попробовал это, и, как я уже сказал, метод отмены называется @Martin Zeitler   -  person BekaKK    schedule 09.04.2019
comment
важно не то, что он вызывается, а то, что он вызывает. стек вызовов похож на трассировку стека, просто не падает с исключением... он становится сложным только тогда, когда задействовано несколько потоков.   -  person Martin Zeitler    schedule 09.04.2019
comment
можешь поделиться решением? Я не правильно понял ваш ответ @Martin Zeitler   -  person BekaKK    schedule 09.04.2019
comment
см. это руководство или это tutorial... окно внизу слева - это то, о чем я говорю. такие проблемы не имеют решения по умолчанию. нужно определить реальную проблему, иначе у вас мало шансов ... вещи не случаются сами по себе (если только ОС не хватает ОЗУ).   -  person Martin Zeitler    schedule 09.04.2019
comment
Дорогой Мартин, я знаю, как использовать точку останова в студии Android, но в этом случае я не могу проверить причину @Martin Zeitler   -  person BekaKK    schedule 09.04.2019
comment
как указано, низкий уровень оперативной памяти может влиять на анимацию... также является профилировщиком для оперативной памяти и графического процессора. также видели проблему на GitHub, но они, скорее всего, также будут помечены ему нужно больше информации.   -  person Martin Zeitler    schedule 09.04.2019
comment
Это моя проблема с гитхабом :))))   -  person BekaKK    schedule 09.04.2019