我想在地圖上顯示約300個點的一個PNG(繪圖)。我從Sqlite表中檢索座標,並將它們轉儲到一個遊標中。當我嘗試通過光標解析來顯示它們時,它將永遠需要繪製圖像,每個圖像大約需要0.5秒。我發現這種情況很慢,所以關於如何提高性能的一些見解會有所幫助。這裏是我的代碼,不會渲染的片段:與ItemizedOverlay結合使用的地圖疊加效果非常差
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。
此PNG有多大? – 2010-04-14 14:52:45
4k,40x40,所以我會眨眼這不應該是問題。 – oviroa 2010-04-14 15:30:31