据我所知,MapFragment
在过渡动画方面存在问题。布局上的所有视图都会立即显示,包括MapFragment自己的视图(如缩放按钮)。但是,只有在动画完成后,地图本身才会加载延迟。
为了说明问题,我做了以下几点:
观看此视频:http://www.youtube.com/watch?v=12SEotktlXI
你有什么建议可以防止这种滞后吗?为什么所有视图都会立即加载,但地图本身不会?
测试环境:Nexus 5,Android 4.4.2,无根
编辑:当使用MapView而不是MapFragment时,也会出现此问题。
答案 0 :(得分:-1)
原因:因为只要您显示设置活动,地图活动就会处于其暂停()状态;因此,我假设android管理从地图活动中回收了内存。
解决方案: 创建一个静态类并在那里静态地声明你的地图,以避免android回收地图使用的内存。
实施例
//your static class
public class MapData{
public static GoogleMap map;
}
//your map activity
public class MapActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(MapData.map != null)
MapData.map = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
}
}