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