1.黑线问题
例如锁屏返回黑线,页面回退黑线,dialog黑线。这些问题90%出在没有在合适位置调用百度地图的生命周期所造成的。所谓的合适位置并不是一定像官方文档里或者demo里写的那样,在Activity/Fragment的生命周期里写上百度地图相应的生命周期,而是要根据项目情况不同区分处理。
举个例子,我们在一个全屏的MapView里打开了一个半透明/非全屏的Activity2如下图所示
这个时候,Mapview所在的Activity1会执行onPause。在结束掉Activity2的时候,Activity1会执行OnResume。这种情况下在相应的生命周期里写上百度地图的生命周期函数是没有问题的。
然而,我们在这个页面再打开一个全屏的Activity3,当我们关闭Activity3回到这个页面的时候,黑线出现了。原因就是这个操作会分别执行一次Activity2的onPause/onResume,而Activity1的生命周期并没有执行到!
所以,百度地图的生命周期函数使用更准确的说法应该是,在百度地图不可见的时候调用mapView.onPause,在百度地图可见的时候调mapView.onResume,也就是说在Activity2的生命周期里通知Activity1里的百度地图执行相应的生命周