我使用 MKPolygon 创建了一大堆叠加层,并创建了一个 MKPolygonView。这可以正常工作,但其中一个叠加层有很多点(大约 800 个点),这会导致内存和性能问题。我在 MKPolygonView 上尝试了 shouldRasterize ,但这产生了相反的影响,我并不感到惊讶。
除了降低点数(我正在做的)之外,我还能做些什么来提高它的性能?
我使用 MKPolygon 创建了一大堆叠加层,并创建了一个 MKPolygonView。这可以正常工作,但其中一个叠加层有很多点(大约 800 个点),这会导致内存和性能问题。我在 MKPolygonView 上尝试了 shouldRasterize ,但这产生了相反的影响,我并不感到惊讶。
除了降低点数(我正在做的)之外,我还能做些什么来提高它的性能?
这是 Apple 已知但不太可能改变的问题。基本上任何超过几个 MKOverlayViews,无论你的硬件是什么,你都会遇到性能问题。您基本上要做的就是继承 MKPolygonView 并将所有 MKPolygons 合并到一个 MKPolygonView 中。
代码可在 Apple 论坛上找到,但由于我没有编写它,我认为我不应该在这里发布它。
我会考虑减少多边形中的点数。取决于你从哪里得到它。大多数地理空间操作数据都具有减少多边形中点数的功能。(您需要做的就是提供准确度测量值。)