I/Counters:超过FrameTime日志中的样本计数



我最近开始在我的应用程序logcat中看到这个日志I/Counters:FrameTime多次超过样本计数,我知道它来自谷歌地图。

知道这意味着什么吗?以及如何摆脱它?

尝试禁用小部件的几个层(比如使用"myLocationEnabled"参数启用的"myLocation"层(,并在发布版本中重新启用它们。还要确保您在dispose方法中处理您的谷歌地图控制器(如果您在从onMapCreated中获取它后将其存储在某个地方(。

据我从错误和API文档中了解到,GoogleMaps有多个层,每个层都需要在给定的FrameTime中构建。由于多层增加的负担会减慢处理速度,因此可能会超过给定的FrameTime并触发错误。

原因还可能包括调试构建没有优化,这确实影响了GoogleMaps包。我尝试了同样的应用程序,在真实设备上的发布版本中,不断出现"I/Counters:exceeded sample count in FrameTime"错误,但这些错误似乎没有出现,这意味着这些错误可以被忽略。

在等待修复时,您可以通过转到文件->设置->编辑器->概述->控制台并添加";超过FrameTime中的采样计数";到列表"em";折叠包含以下内容的控制台行:

发生这种情况是因为我忘记添加我的实际谷歌地图API密钥。

从今天早上开始我就遇到了同样的问题,在I:之后它就消失了

  • 停止了我的模拟器
  • 擦除数据
  • 冷踢它

注意:这是与安卓

对于Android模拟器来说,只要擦除设备的数据就足够了,FrameTime消息就会消失。

编辑:遗憾的是,这不是一个永久的解决方案,因为在重新操作模拟器后,消息会开始出现。如果我偶然发现了一个永久性的修复程序,我会带着另一个更新回来。

我遇到了类似的问题,对我来说,我设置了一个位置侦听器:

location.onLocationChanged.listen(l) {
controller.animateCamera(...);
}

即使电话位置没有改变,这似乎也被调用了,所以我添加了一个检查来存储以前的已知位置,在侦听中,我将streamData与我的位置进行了比较,只有在发生变化时才执行更新。

也许你可以发布你的代码,看看这是否是原因?

它发生在onLocationChanged方法内部。

当我在一定程度上将isMyLocationEnabled设置为false时,它被删除了,但被完全删除了,现在有更少的日志语句。

当地图移动时(或者更具体地说,当它被重新绘制时(会发生这种情况。无论是在设置动画时,还是在手动滑动时。我的日志猫充斥着Counters: exceeded sample count in FrameTime消息。这解释了为什么当没有启用我的位置时,你会看到更少的东西:地图不会移动那么多。。。

太烦人了。

对于flutter:我使用setState()方法和谷歌地图,还有一个locationListener()。所以我删除了setState(),而是使用provider更新了屏幕。警告也消失了。

最新更新