android - 当 AdView 显示在
问题描述
我制作了一个自定义视图来可视化进度。它有一个简单的介绍动画,如下所示:
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);
推荐阅读
- knex.js - 选择带有连接的查询,其中响应字段包括表名?
- eclipse - 无法在 Eclipse 中将服务器添加到 Web 项目
- splinter - 如何在 Python 中通过 Splinter 访问 Selenium Webdriver
- reactjs - 如何使用带有 Typescript 的泛型将中继(graphql)连接映射到边缘节点
- html - 如果我必须连续对多个 div 使用 float left,有没有办法将它们与剩余空间居中?
- c++ - find() 没有返回可以使用的 int 值,并且在编译之前给出了错误
- sql - 多个组通过保持他们的订单
- constructor - Lua中这两段代码有什么区别
- python - 如何修复 .ipynb 文件?
- html - White-space: pre 导致水平滚动, white-space: pre-wrap 导致收缩。如何结合使用两者?