Android 什么是;“显示透支计数器”;是真的吗?为什么Admob会增加这么多? 背景

Android 什么是;“显示透支计数器”;是真的吗?为什么Admob会增加这么多? 背景,android,admob,gpu-overdraw,Android,Admob,Gpu Overdraw,在Android上,有一种方法可以找到GPU的透支情况,以衡量应用程序在GPU上的性能 从Kitkat开始,有很多新的方法: “显示透支区域”显示每个图形的质量(从零到蓝色、到绿色、到黄色、再到红色) 第二个(“氘核异常显示区域”)是相同的,但适用于色盲患者 问题 我找不到关于最后一个“显示透支计数器”的任何文档 我尝试过启用它,在屏幕上的一些地方,我看到一个计数器在某些情况下会更改其编号。与其他选择相比,它还大大降低了设备的速度 此外,我已经运行了它,尽管listView的性能非常好,但由于

在Android上,有一种方法可以找到GPU的透支情况,以衡量应用程序在GPU上的性能

从Kitkat开始,有很多新的方法:

“显示透支区域”显示每个图形的质量(从零到蓝色、到绿色、到黄色、再到红色)

第二个(“氘核异常显示区域”)是相同的,但适用于色盲患者

问题 我找不到关于最后一个“显示透支计数器”的任何文档

我尝试过启用它,在屏幕上的一些地方,我看到一个计数器在某些情况下会更改其编号。与其他选择相比,它还大大降低了设备的速度

此外,我已经运行了它,尽管listView的性能非常好,但由于Admob,它显示了一个非常高的红色值(大约5-6)。我不知道为什么会这样,因为它只是线性布局中的一个列表视图和一个adView

问题 这个计数器是什么意思

为什么Admob会增加这么多?这是件坏事吗?我该怎么处理它呢

删除Admob会将值降低到一个合适的值(大约1-2,取决于使用的主题),或者至少我是这么认为的


编辑:我在网上找到了一个很好的解释。他们说有这样的事情:

每个窗口都有一个计数器,告诉你有多少次 您已经绘制了屏幕和颜色,告诉您是否已完成 嗯(绿色=好,红色=坏)。这个数字有一个“.”,因为它是 平均数

但我还是不明白为什么Admob Adview会让事情变得如此糟糕


编辑:我在Admob Google Groups()上得到一个答案,说我应该禁用Adview上的GPU,以避免额外的透支:

我明白了。因此,这个问题似乎与硬件加速有关——如果您 关闭AdView上的硬件加速-这不会发生:

adView.setLayerType(View.LAYER\u TYPE\u软件,空)


它起作用了,但我不明白这怎么可能是件好事。我的意思是,现在CPU负责视图,对吗?

可能是Admob的绘图效率不高。与一个ListView行的多个嵌套布局相结合,overdraw变为坏(红色)。但是ListView位于其上方,作为linearLayout的子级,如果没有它(即使我放置了一个按钮而不是adView),它似乎可以执行。。。你可以自己试试。安装应用程序,启用新功能,禁用internet连接,当有一个按钮而不是adView时,这是一篇非常好的文章,可以回答你关于overdraw和其他关于图形性能的问题。adView的问题是,我没有在它上面或后面加任何图层。我已经用从谷歌集团得到的答案更新了我的问题,但我仍然不明白整件事。你是指这个链接上的“透支和GPU”部分吗?所以你认为这只是GPU的问题?