Я пытаюсь отобразить один PNG (отрисовка) на карте примерно в 300 точках. Я получаю координаты из таблицы Sqlite, помещая их в курсор. Когда я пытаюсь отобразить их, анализируя курсор, на рисование изображений уходит вечно, примерно 0,5 секунды на изображение. Я нахожу это подозрительно медленным, поэтому поможет понимание того, как я могу повысить производительность. Вот фрагмент моего кода, который выполняет рендеринг:
while (!mFlavorsCursor.isAfterLast())
{
Log.d("cursor",""+(i++));
point = new GeoPoint(
(int)(mFlavorsCursor.getFloat(mFlavorsCursor.getColumnIndex(DataBaseHelper.KEY_LATITUDE))*1000000),
(int)(mFlavorsCursor.getFloat(mFlavorsCursor.getColumnIndex(DataBaseHelper.KEY_LONGITUDE))*1000000));
overlayitem = new OverlayItem(point, "", "");
itemizedoverlay.addOverlay(overlayitem);
itemizedoverlay.doPopulate();
mFlavorsCursor.moveToNext();
}
mapOverlays.add(itemizedoverlay);
Я попытался выделить все шаги, и похоже, что медленный это:
itemizedoverlay.doPopulate ();
Это открытый метод в моем классе, который расширяет ItemizedOverlay, который запускает закрытый populate () метод.