Nakładka Android MapView znika podczas powiększania

Pracuję nad prostą aplikacją na Androida do kreślenia tras na mapie. Wszystko idzie dobrze, ale mam problem podczas powiększania mojego Samsunga Galaxy S2. Działa dobrze na Galaxy S3, więc zastanawiam się, czy jest to związane z zarządzaniem pamięcią na niższym urządzeniu. Działa również dobrze na emulatorze.

Oto odpowiednik kodu znajdującego się w metodzie nakładek onDraw, właśnie skondensowanej do zamieszczenia tutaj:

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);

Nie jest zbyt podobny do większości przykładowego kodu pływającego w tym celu. Zastanawiam się tylko, czy ktoś może potwierdzić moje podejrzenia i doradzić, czy jest coś, co mogę zrobić w zakresie konfiguracji lub ulepszeń, które mogę zrobić, aby wymusić rysowanie na wszystkich poziomach powiększenia?

Z góry dziękuję.

Pozdrawiam, Nathan

questionAnswers(2)

yourAnswerToTheQuestion