在ListView中,新的gms.maps.MapView渲染有点滞后?

时间:2013-01-08 15:15:49

标签: android google-maps surfaceview android-maps android-maps-v2

我试图将新MapView的实例放在ListView中。新的mapview是:

com.google.android.gms.maps.MapView

我关闭所有互动,并为视图设置固定高度:

GoogleMapOptions options = new GoogleMapOptions();
    options.mapType(GoogleMap.MAP_TYPE_NORMAL);
    options.compassEnabled(false);
    options.rotateGesturesEnabled(false);
    options.scrollGesturesEnabled(false);
    options.tiltGesturesEnabled(false);
    options.zoomControlsEnabled(false);
    options.zoomGesturesEnabled(false);

mMapView = new MapView(getActivity(), options);
mMapView.setLayoutParams(new AbsListView.LayoutParams(
    AbsListView.LayoutParams.MATCH_PARENT,
    200));
mMapView.setEnabled(false);
mMapView.setFocusable(false);
getListView().addHeaderView(mMapView);
getListView().addAdapter(simpleArrayAdapter);

这很有效,但是如果我快速滚动列表视图,看起来mapview渲染会稍微滞后,所以你可以在滚动方向看到一小块黑色像素。

这似乎是某种同步问题,因为我用opengl猜测mapview的速度足够快以响应我的滚动。此外,旧的MapView + MapActivity在相同的设置中也能正常运行。

下面是快速滚动时出现间隙的图片。在很短的时间之后,mapview将会赶上并再次渲染。

enter image description here

有关于此的任何想法吗?

由于

-----更新---------

此问题与以下内容相同:

ViewPager with Google Maps API v2: mysterious black view

但是我无法在此设置中记录那里的修复程序。

1 个答案:

答案 0 :(得分:1)

如果您的定位API 13>

,请将其放入您的清单中
<application android:hardwareAccelerated="true"/>