我正在开发一个简单的 Android 应用程序,用于在地图上绘制路线。一切顺利,但在放大我的三星 Galaxy S2 时遇到了问题。它在 Galaxy S3 上运行良好,所以我想知道它是否与低规格设备上的内存管理有关。它在模拟器上也可以正常工作。
这是位于叠加层 onDraw 方法中的等效代码,只是为了在此处发布而压缩:
Point current = new Point();
Path path = new Path();
Projection projection = mapView.getProjection();
Iterator<GeoPoint> iterator = pointList.iterator();
if (iterator.hasNext()) {
projection.toPixels(iterator.next(), current);
path.moveTo((float) current.x, (float) current.y);
} else return path;
while(iterator.hasNext()) {
projection.toPixels(iterator.next(), current);
path.lineTo((float) current.x, (float) current.y);
}
Paint roadPaint = new Paint();
roadPaint.setAntiAlias(true);
roadPaint.setStrokeWidth(8.0f);
roadPaint.setColor(Color.BLACK);
roadPaint.setStyle(Paint.Style.STROKE);
canvas.drawPath(path, roadPaint);
它与大多数用于执行此操作的示例代码并没有太大的不同。我只是想知道是否有人可以证实我的怀疑并建议我是否可以在配置或调整方面做些什么来强制在所有缩放级别上绘制?
提前致谢。
干杯,内森