【问题标题】:osmdroid 6.1.2: flood of draw() invocations on mapview overlaysosmdroid 6.1.2:mapview 覆盖上的 draw() 调用泛滥
【发布时间】:2020-02-20 11:17:18
【问题描述】:

我用 osmdroid 编写了一个地图应用程序,它使用了几个叠加层、标准叠加层(CopyrightOverlay、ScaleBarOverlay 等)以及自己的实现(例如,用于指北针)。所有这些类都包含一个构造函数和一个函数“draw()”。我发现每个绘图函数每秒都会被调用几次,即使是在静态条件下(没有应用缩放或滚动,没有调用 invalidate(),没有发生 android 生命周期事件)。我不明白,为什么会发生这种情况以及它有什么好处。

我的意思是,该应用程序运行良好,但在后台有一个恒定的 CPU 负载,稍微减慢了应用程序的速度。每秒更新几次版权声明有什么意义?

【问题讨论】:

  • 显然您已经投入了一些时间来调试问题。也许在 Github 上创建一个问题并与库的开发人员讨论会比在 StackOverflow 上询问更好的选择。这种问题在这里很难回答(除了“你正在做这个和这个错误”,但在我看来可能并非如此)。结帐github.com/osmdroid/osmdroid/issues/new 他们有诸如“问题”和“性能”之类的标签。
  • @Josef Adamcik:非常好的主意。我已经做到了,见link

标签: overlay draw android-mapview osmdroid


【解决方案1】:

从 6.1.6 版开始,osmdroid 团队已解决此问题。见here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多