我有一些动态图块内容显示在地图上(特别是天气图像 - 雷达,卫星,温度等).我正在使用Google Maps API for Android v2.
我遇到的问题显然是更新磁贴图像的唯一方法(即当新数据到达时,或者帧在时间推移动画中前进时)是调用TileOverlay.clearImageCache.不幸的是,当我这样做时,瓷砖覆盖层会闪烁一会儿.这是因为clearImageCache会立即从显示中删除现有的图块图像,但在解码和显示新的图块图像之前会有一段延迟.
我正在使用自定义TileProvider缓存切片图像,而不是每次从服务器中获取它们.但即使它只提供缓存的磁贴(即我的TileProvider.getTile实现没有明显的延迟),用户仍然可以看到闪烁的延迟.
有谁知道避免这种闪烁的方法?有什么方法可以双重缓冲瓷砖覆盖?我尝试使用附加到地图的两个TileOverlay对其进行双缓冲,其中一个是不可见的.但是,即使在我调用clearImageCache之后,看不见的TileOverlay也无法从我的TileProvider中获取任何图块.