Lottie动画:java.lang.IllegalArgumentException: Invalid Layer Save Flag - only ALL_SAVE_FLAG

Lottie动画:java.lang.IllegalArgumentException: Invalid Layer Save Flag - only ALL_SAVE_FLAG_第1张图片

Api28以上,在执行用AE做的一个炫酷动画的时候,报了java.lang.IllegalArgumentException: Invalid Layer Save Flag - only ALL_SAVE_FLAG,具体原因我在这边就不多讲了,总结为Lottie库兼容性有问题,在加载动画的时候导致奔溃。

推荐大家使用2.7.0的版本

com.airbnb.android:lottie:2.7.0

首先这个版本已经解决了上述兼容问题,其次就是如果版本过新的话,原来项目中使用的api可能要更新,改的地方太多。

顺便再提一下另一个问题(看一送一),就是关于动画太炫酷,android机上运行起来卡顿的问题,目前这个问题的实质是,炫酷的动画对手机的要求性能极高,我这边类似于荣耀10这种手机都很卡,也就是说大部分手机都会卡,包括ios,同一套动画,6s的手机也会卡,只有在iphone x上面才是流畅的,可想而知炫酷的代价。

这边也提供一个能一定程度上改善的方法:

animation_view.useHardwareAcceleration(true);

在动画执行之前调用这个方法,对卡顿会有一定的改善,也有人说这个方法,我在manifest中就已经声明了,应该作用于所有的页面了Lottie动画:java.lang.IllegalArgumentException: Invalid Layer Save Flag - only ALL_SAVE_FLAG_第2张图片

但是人家的方法就是牛逼,用了就是有效果,因为是人家自己库里面的方法,他们说了算,你能咋的哦。

你可能感兴趣的:(android,app)