我在MapView中添加了许多叠加层。当我移动,放大或缩小MapView时,叠加层会在地图响应操作之前导致显着延迟。有什么方法可以减少这种延迟吗?
我看到其他人建议将所有叠加层合并到一个大型叠加层中以解决类似问题。如果这样的东西可以工作,我如何将我的叠加数组合成一个叠加?
我还看到,它可以提高性能,以绘制位图上叠加层中指定的所有线条,然后覆盖位图。如果这是最佳选择,那么我将如何实施呢?
非常感谢任何帮助。如果您需要更多信息或代码,请询问!
答案 0 :(得分:0)
我在MapView中添加了许多叠加层。当我移动,放大或缩小MapView时,叠加层会在地图响应操作之前导致显着延迟。有什么方法可以减少这种延迟吗?
包含越来越少的复杂叠加层。使用Traceview确定问题的确切位置。如果你现有的draw()
方法之一很慢,那么在担心组合叠加之前,你需要先解决这个问题。如果超出时间似乎是MapView
中的叠加层管理,那么将叠加层合并到更少的叠加层可能会带来好处。
如何将叠加层数组合成一个叠加层?
将代码重构为单个覆盖类。除此之外,我们无法帮助您,因为我们对您的叠加层知之甚少,除此之外它们“数不胜数”。
如果这是最佳选择,那么我将如何实施呢?
创建一个bitmap-backed Canvas
,在其上绘制线条,然后在Bitmap
中在您的叠加层中绘制结果draw()
,我认为。