Google Maps v2 for Android在高速运行时非常缓慢地加载磁贴

San*_*erE 1 android google-maps google-maps-android-api-2

我目前正在开发一款具有类似导航软件功能的应用程序(但不,我不能使用实际的现有导航软件),因此可以在驾驶时跟踪一个人.为此,我试图使用谷歌地图api v2,但一旦我走得快于大约50公里/小时就会出现问题.

在那一点上,我基本上将地图驱逐到灰色,加载新的瓷砖似乎没有保持也没有赶上我的驾驶速度.在某些时候,它有一段时间没问题,我甚至在高速公路上有时间保持130公里/小时,但这些时刻非常罕见,一般我的应用程序在50-60公里/小时后变得无法使用.这与普通的mapview一致,Sat/Hybrid当然更慢/更差.我已经尝试了3g和4g,我的网速确实不是问题,除非15Mb/s不够快.

有什么方法可以告诉谷歌地图更快地加载瓷砖或缓存更多的周围环境?营业执照是否会提高这一速度?或者我被迫开始使用OSM而不是谷歌地图?

Sti*_*ker 7

结果证明这不是性能问题.我们分析了应用程序,但无法找到重要的CPU或内存负载.这让我们怀疑是一个不同的问题.在十几个测试驱动器,每次启用/禁用部分代码后,我们发现了问题所在.

每次进入新位置时,我们都会将摄像机设置为新的GPS位置.这种情况每隔约500毫秒就会发生一次.

如果未将其指定为参数,AnimateCamera()没有指定的默认持续时间.但是,我们发现在我们的情况下默认持续时间超过500毫秒.

在制作动画时,地图不会加载新的图块.所以在我们的例子中,我们每500毫秒开始一个新动画,动画持续时间超过500毫秒(我们怀疑是2000毫秒),因此地图总是处于"动画"状态.

当我们指定300ms的动画持续时间时,即使在(非常)高速下,所有图块也能正确加载.