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

时间:2011-07-08 21:45:08

标签: android android-maps performance

所以我有一个应用程序在Open Streen Map上绘制直线,折线,圆等。 我保留了一个绘图列表,当地图无效时,我迭代通过重新绘制覆盖的onDraw方法中的每个项目的列表。这个工作正常,直到我的绘图数量达到300左右。然后,一些严重的用户界面延迟开始了。

我正在寻找一种有效的方法吗?

我在“电路板”绘图应用程序上完成了位图缓存绘图。虽然这对于这种情况不起作用,因为背景中的投影可能会改变,因此绘图必须移动。

1 个答案:

答案 0 :(得分:2)

我正在保存GeoPoints,然后在每次重绘期间对“MapView Point”进行大量转换。原来投影有一个“中间点”,可以存储并轻松投影到“MapView点”。所以繁重的计算部分只做了一次。

步骤

  • 运动事件(x,y)使用(fromPixels)
  • 到GeoPoint
  • 使用(toMapPixelsProjected)
  • 将GeoPoint转换为中间值
  • 缓存绘图显示的中间值
  • OnDraw - >使用(toMapPixelsTranslated)
  • 筛选坐标的中间值