Lottie动画慢机器人

前端之家收集整理的这篇文章主要介绍了Lottie动画慢机器人前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Airbnb的新库 Lottie在我的应用程序中制作动画.

动画由70 kb JSON文件和328 kb图像文件夹组成.这个文件夹中有13个小png.

根据GitHub回购的指示,我宣布我的观点是这样的

<com.airbnb.lottie.LottieAnimationView
    android:id="@+id/lottie_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:lottie_fileName="animation.json"
    android:layout_gravity="bottom"
    app:lottie_loop="false"
    app:lottie_autoPlay="true"/>

然后,在我调用的相关java类上:

mLottieView.setImageAssetsFolder("images");

但是,我有一个问题.动画很笨拙,而且我的记忆用量在屋顶上跳跃.它从13 MB到89,所有这些都发生在主线程上.

你能告诉我有没有办法解决这个问题?

谢谢

解决方法

documentation提到了一些影响性能的项目
  • If the composition has no masks or mattes then the performance and memory overhead should be quite good

  • Png sequences are even worse than gifs (due to file sizes)

还有一些通用的Android /移动设备问题需要考虑:

>使用width =“match_parent”,height =“wrap_content”组合,图像将按比例放大.使用包裹,包裹或固定尺寸.
> PNG上的Alpha增加了处理的额外开销

如果您的UI线程按照您的建议做了太多工作,您是否可以推迟开始动画?如果这是一个选项,则LottieComposition具有静态方法,例如LottieComposition.fromJson().

您可以在后台线程上手动设置合成(然后可选择创建LottieDrawable并设置合成).完成后,您可以切换到LottieAnimationView上的UI线程和setComposition(或setImageDrawable)

猜你在找的Android相关文章