问题描述:TabHost切换Activity,每个activity中都包含一个高德地图,首次进入第一个显示的地图可以使用,切换到第二个时地图卡死不能操作。
解决办法:把MapView改成TextureMapView
1.把layout布局中的MapView改掉
<com.amap.api.maps.MapView
android:id="@+id/activity_map_map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
改成
<com.amap.api.maps.TextureMapView
android:id="@+id/activity_map_map"
android:layout_width="match_parent"
android:layout_height="match_parent" />
2.把代码中的MapView改掉
MapView mMapView;
改成
TextureMapView mMapView;
卡死的原因看了一圈博客,大概的意思是,原来的MapView继承的是SurfaceView,而SurfaceView在这种切换的情况下,第二个会变成透明的,卡死的现象实际就是在看见的地图上面还有一层透明的布局,这时候我们去点击和滑动的都是上面透明的布局,所以就感觉下面能看见的地图像卡死了一样,不能操作。
现在就知道个大概原因,等有机会再细研究。