gpt4 book ai didi

android - ItemizedOverlay.draw() 的性能问题

转载 作者:行者123 更新时间:2023-11-30 04:40:19 26 4
gpt4 key购买 nike

我有一个类:

public class WaypointOverlay extends ItemizedOverlay<OverlayItem>

它覆盖了 ItemizedOverlaydraw() 方法。
在我的 Activity 中,我有一张包含许多叠加项的 map 以及一个列表。我从 traceviewer 输出和 logcat 注意到 MapView.onDraw() 被调用了很多次,即使 map 没有被触及。这导致了一个真正无响应的列表和 map (当我的 WaypointOverlay 类只是从这些 onDraw 调用返回时,一切都运行良好)

我怎样才能降低 onDraw 调用的发生频率 - 理想情况下仅在 MapView 更改跨度时发生?我尝试在 onDraw 中检查 MapView 是否具有与上次 onDraw 调用相同的纬度/经度跨度,并且仅绘制如果两者不同。这导致 OverlayItems 仅在 map 平移或缩放时出现。

关于提高性能的任何想法?

最佳答案

我想我可能已经解决了这个问题(至少对我来说是这样)。在我的应用程序中,用户可以离开 map 然后返回,所有这些都在同一 Activity 中进行。每次用户返回 map 时,我都会重新添加我创建的所有叠加层。这意味着 map 上有太多叠加层 - 我看不到它们,因为它们重叠了。调用 MapView.getOverlays().clear() 使 map 和列表的性能显着提高。

关于android - ItemizedOverlay.draw() 的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6085096/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com