Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:大量覆盖物减缓了地图移动_Android_Performance_Overlay_Android Mapview - Fatal编程技术网

Android 安卓:大量覆盖物减缓了地图移动

Android 安卓:大量覆盖物减缓了地图移动,android,performance,overlay,android-mapview,Android,Performance,Overlay,Android Mapview,我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时,覆盖会在地图响应操作之前造成明显的延迟。我有什么办法可以尽量减少延误吗 我看到有人建议将所有覆盖合并为一个大型覆盖,以解决类似的问题。如果类似的东西可以工作,我将如何将我的覆盖阵列组合成一个覆盖 我还看到,在位图上绘制覆盖图中指定的所有线条,然后覆盖位图,这可能会提高性能。如果这是最好的选择,那么我将如何着手实施它 任何帮助都将不胜感激。如果您需要更多信息或代码,请询问 我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时

我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时,覆盖会在地图响应操作之前造成明显的延迟。我有什么办法可以尽量减少延误吗

我看到有人建议将所有覆盖合并为一个大型覆盖,以解决类似的问题。如果类似的东西可以工作,我将如何将我的覆盖阵列组合成一个覆盖

我还看到,在位图上绘制覆盖图中指定的所有线条,然后覆盖位图,这可能会提高性能。如果这是最好的选择,那么我将如何着手实施它

任何帮助都将不胜感激。如果您需要更多信息或代码,请询问

我在地图视图中添加了许多覆盖图。当我移动、放大或缩小地图视图时,覆盖会在地图响应操作之前造成明显的延迟。我有什么办法可以尽量减少延误吗

覆盖层越来越少,越来越不复杂。使用Traceview确定问题的确切位置。如果您现有的
draw()
方法中有一个速度慢,那么您需要先解决这个问题,然后再考虑合并覆盖。如果在
MapView
中的覆盖管理中似乎有多余的时间,那么将覆盖整合到较少的覆盖中可能会有好处

如何将我的覆盖阵列组合成单个覆盖

将代码重构为单个覆盖类。除此之外,我们无法帮助您,因为我们对您的覆盖层了解不多,除了它们“数量众多”

如果这是最好的选择,那么我将如何着手实施它


创建一个,在上面画一条线,然后在你的覆盖图中,在
draw()
中画出结果的
位图,我想。

好的,我会用Traceview准确地找出它在哪里变慢,然后我会在一两天内回来报告,可能会有更多的问题。谢谢,我还有一个问题。我试图在数组中从一个
地质点
到下一个
地质点
画一条线。考虑到我不能使用
投影.toPixels()
,我应该如何在位图背景的
画布上绘制由地质点创建的线?@BrianEcker:这与您最初的问题并不完全一致。请提出新问题,而不是将评论用作开放式讨论板。也就是说,
projection.toPixels()
工作得很好,但是您必须将像素从屏幕坐标转换为
Canvas
坐标。如果生成的位图恰好在左上角绘制,则
画布上的像素坐标将与屏幕上的相同。如果位图将从左上角偏移,则需要调整
toPixels()
值以匹配。哦,对不起。我还是新来的。谢谢