在 ListView 中新的 gms.maps.MapView 渲染有点滞后?
Posted
技术标签:
【中文标题】在 ListView 中新的 gms.maps.MapView 渲染有点滞后?【英文标题】:New gms.maps.MapView rendering lags a bit when in a ListView? 【发布时间】:2012-12-22 11:47:20 【问题描述】:我正在尝试将新 MapView 的实例放入 ListView。新的地图视图是:
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);
这可行,但如果我快速滚动列表视图,看起来地图视图渲染有点滞后,因此您可以在滚动方向上看到一小块黑色像素。
这似乎是某种同步问题,因为我猜测使用 opengl 的 mapview 足够快,可以响应我的滚动进行渲染。此外,旧的 MapView+MapActivity 在相同的设置中也能正常运行。
下面是快速滚动时出现的间隙图片。片刻之后,mapview 会赶上并再次渲染 ok。
对此有何想法?
谢谢
----- 更新---------
此问题看起来与以下内容相同:
ViewPager with Google Maps API v2: mysterious black view
但是,我无法在此处记录修复以在此设置中工作。
【问题讨论】:
我也有类似的问题:***.com/questions/14419521/…。发布了一段视频,展示了它在那里的样子。顺便说一句,你在什么设备上测试? 设备范围 - HTC Wildfire、Galaxy Nexus、Nexus S - 在所有设备上的行为都相似,有些比其他设备更糟糕(HTC Wildfire 完全变黑了) 嘿伙计,据我所知,你有像这里 cocoacontrols.com/controls/slparallaxcontroller 这样的控制器。你知道我在哪里可以找到它。 【参考方案1】:如果您的目标 API 13,请将其放入清单中>
<application android:hardwareAccelerated="true"/>
【讨论】:
以上是关于在 ListView 中新的 gms.maps.MapView 渲染有点滞后?的主要内容,如果未能解决你的问题,请参考以下文章
Android ListView:填充屏幕剩余空间的页眉/页脚