Android 安卓:大量覆盖物减缓了地图移动
我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时,覆盖会在地图响应操作之前造成明显的延迟。我有什么办法可以尽量减少延误吗 我看到有人建议将所有覆盖合并为一个大型覆盖,以解决类似的问题。如果类似的东西可以工作,我将如何将我的覆盖阵列组合成一个覆盖 我还看到,在位图上绘制覆盖图中指定的所有线条,然后覆盖位图,这可能会提高性能。如果这是最好的选择,那么我将如何着手实施它 任何帮助都将不胜感激。如果您需要更多信息或代码,请询问 我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时,覆盖会在地图响应操作之前造成明显的延迟。我有什么办法可以尽量减少延误吗 覆盖层越来越少,越来越不复杂。使用Traceview确定问题的确切位置。如果您现有的Android 安卓:大量覆盖物减缓了地图移动,android,performance,overlay,android-mapview,Android,Performance,Overlay,Android Mapview,我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时,覆盖会在地图响应操作之前造成明显的延迟。我有什么办法可以尽量减少延误吗 我看到有人建议将所有覆盖合并为一个大型覆盖,以解决类似的问题。如果类似的东西可以工作,我将如何将我的覆盖阵列组合成一个覆盖 我还看到,在位图上绘制覆盖图中指定的所有线条,然后覆盖位图,这可能会提高性能。如果这是最好的选择,那么我将如何着手实施它 任何帮助都将不胜感激。如果您需要更多信息或代码,请询问 我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时
draw()
方法中有一个速度慢,那么您需要先解决这个问题,然后再考虑合并覆盖。如果在MapView
中的覆盖管理中似乎有多余的时间,那么将覆盖整合到较少的覆盖中可能会有好处
如何将我的覆盖阵列组合成单个覆盖
将代码重构为单个覆盖类。除此之外,我们无法帮助您,因为我们对您的覆盖层了解不多,除了它们“数量众多”
如果这是最好的选择,那么我将如何着手实施它
创建一个,在上面画一条线,然后在你的覆盖图中,在
draw()
中画出结果的位图,我想。好的,我会用Traceview准确地找出它在哪里变慢,然后我会在一两天内回来报告,可能会有更多的问题。谢谢,我还有一个问题。我试图在数组中从一个地质点
到下一个地质点
画一条线。考虑到我不能使用投影.toPixels()
,我应该如何在位图背景的画布上绘制由地质点创建的线?@BrianEcker:这与您最初的问题并不完全一致。请提出新问题,而不是将评论用作开放式讨论板。也就是说,projection.toPixels()
工作得很好,但是您必须将像素从屏幕坐标转换为Canvas
坐标。如果生成的位图恰好在左上角绘制,则画布上的像素坐标将与屏幕上的相同。如果位图将从左上角偏移,则需要调整toPixels()
值以匹配。哦,对不起。我还是新来的。谢谢