AdView 显示时 ValueAnimator 行为发生变化

ValueAnimator behaviour changes when AdView shows in

我制作了一个自定义视图来可视化进度。它有一个简单的介绍动画,如下所示:

PropertyValuesHolder c=PropertyValuesHolder.ofInt("c",0,100);
ValueAnimator anim=new ValueAnimator();
anim.setValues(c);
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
      @Override
      public void onAnimationUpdate(ValueAnimator animation) {
          position = (int) animation.getAnimatedValue("c");
          postInvalidate();
      }
  });
anim.setDuration(1000);
anim.start();

它在约 50 个关键帧时运行流畅,但在放置在父视图上的 AdView 变为可见后,相同的动画运行时出现滞后(性能降低到约 20 个关键帧)。我检查了 ValueAnimator.FrameDelay,它没有改变。

导致此问题的原因是什么,解决方案是什么?

正如@MartinMarconcini所说,问题与嵌入在 AdView 中的 WebView 有关。通过在 AdView 上启用硬件加速提高了性能。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
        adView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
   else adView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);