Лотти и RecyclerView - PullRequest
       48

Лотти и RecyclerView

0 голосов
/ 21 мая 2018

Я использую Lottie анимации внутри ViewHolder RecyclerView.При прокрутке частота кадров слишком низкая.Это происходит даже при приостановленной анимации.

Любое предложение или решение этой проблемы?

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Вы должны остановить анимацию, если ViewHolder переработан.

Переопределить в адаптере RecyclerView

@Override
public void onViewRecycled(@NonNull ViewHolder holder) {
    super.onViewRecycled(holder);

    holder.mLottieView.cancelAnimation();

    Drawable drawable = holder.mLottieView.getDrawable();
    if (drawable instanceof LottieDrawable) {
        ((LottieDrawable) drawable).clearComposition();
    }
}

Я очищаю композицию внутри LottieDrawable, чтобы они не сохранялисьвсе, что находится внутри, также вызывает закрытый метод clearBitmaps, который может помочь стереть часть памяти.

0 голосов
/ 07 июня 2018

Существует атрибут с именем Cache Strategy, который кэширует анимацию впервые, чтобы сделать плавную анимацию

, значение по умолчанию которой равно weak, но вы можете изменить значение на strong, чтобы оно было похожеэто

приложение: lottie_cacheStrategy = "нет"

приложение: lottie_cacheStrategy = "слабое"

приложение: lottie_cacheStrategy = "strong"

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

...