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中就已经声明了,应该作用于所有的页面了
但是人家的方法就是牛逼,用了就是有效果,因为是人家自己库里面的方法,他们说了算,你能咋的哦。