Android:地图绘图性能,1K绘图!

Android:地图绘图性能,1K绘图!,android,android-maps,performance,Android,Android Maps,Performance,因此,我有一个应用程序,它可以在一张开放的地图上绘制直线、多段线、圆等。 我保存了一个图纸列表,当地图无效时,我会在覆盖的onDraw方法中迭代列表,重新绘制每个项目。在我的绘图计数达到300+之前,这一切都很正常。然后一些严重的UI延迟开始出现 我在寻找一个有效的方法来做这件事 我已经在“board”绘图应用程序上完成了位图缓存绘图。虽然这不适用于这种情况,因为背景中的投影可能会发生变化,因此图形必须移动。我在保存地质点,然后在每次重画期间对“地图视点”进行大量转换。结果表明,投影有一个“中间

因此,我有一个应用程序,它可以在一张开放的地图上绘制直线、多段线、圆等。 我保存了一个图纸列表,当地图无效时,我会在覆盖的onDraw方法中迭代列表,重新绘制每个项目。在我的绘图计数达到300+之前,这一切都很正常。然后一些严重的UI延迟开始出现

我在寻找一个有效的方法来做这件事


我已经在“board”绘图应用程序上完成了位图缓存绘图。虽然这不适用于这种情况,因为背景中的投影可能会发生变化,因此图形必须移动。

我在保存地质点,然后在每次重画期间对“地图视点”进行大量转换。结果表明,投影有一个“中间点”,可以存储该点并轻松投影到“MapView点”。因此,繁重的计算部分只做了一次

台阶

  • 使用(fromPixels)将运动事件(x,y)发送到地质点
  • 使用(toMapPixelsProjected)将地质点转换为中间值
  • 缓存图形显示的中间值
  • OnDraw->使用(toMapPixelsTranslated)将中间值转换为屏幕坐标

绘制背景线。这将大大加快速度。目前它是在一个可运行的时间内完成的。异步线程=崩溃。如果我可以运行多个异步任务,它将解决这个问题。您是否有一个异步线程示例可以工作?