Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 值当AdView显示在中时,Animator行为会发生变化_Android_View_Admob_Android Animation_Android Custom View - Fatal编程技术网

Android 值当AdView显示在中时,Animator行为会发生变化

Android 值当AdView显示在中时,Animator行为会发生变化,android,view,admob,android-animation,android-custom-view,Android,View,Admob,Android Animation,Android Custom View,我已经为可视化进度创建了一个自定义视图。它有一个简单的介绍动画,如下所示: PropertyValuesHolder c=PropertyValuesHolder.ofInt("c",0,100); ValueAnimator anim=new ValueAnimator(); anim.setValues(c); anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override p

我已经为可视化进度创建了一个自定义视图。它有一个简单的介绍动画,如下所示:

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个关键帧)。我检查
值animator.FrameDelay
,它不会改变

是什么导致了这个问题,解决方案是什么?

如前所述,这个问题与嵌入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);

在没有看到更多代码的情况下很难说是肯定的,但我的建议是使用Android Studio profiled/debug工具来比较你的布局是否有广告(这可能是一个网络视图,如果不是硬件加速的话,可能需要很多CPU来渲染-这只是一个想法而已)。。。在您用来测试的设备中,启用(开发工具中的)“调试GPU->SHow Overdraw”(或类似工具),查看广告是否导致了大量的Overdraw;使用该设备提供的各种工具,看看您是否能够找出导致速度缓慢的原因。探查器是你的朋友!(也可以使用工具->布局检查器)在运行时查看布局的快照。(顺便说一句,小部件看起来很酷):@MartinMarconcini谢谢你的完整解释,我已经检查过了,但是没有太大的问题overload@MartinMarconcini谢谢你的帮助,很有效