今天在写调用百度地图地图的时候发现一个很大的bug,正常的情况下不会出现什么错误,但是连续的进入地图然后又退出地图之后程序就崩溃了(需要重复比较多次),抛的是一个空指针问题,可是看了一下代码并没有什么问题:
图中划线的那句就是崩溃的原因,这句的异常时空指针异常,错误的信息如下代码:
09-18 17:02:25.152 14240-14240/com.example.kangle E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.baidu.platform.comapi.map.f.a(Unknown Source)
at com.baidu.mapapi.map.BaiduMap.addOverlay(Unknown Source)
at com.example.kangle.homepage.activity.MapActivity.addInfosOverlay(MapActivity.java:344)
at com.example.kangle.homepage.activity.MapActivity$3.onSuccess(MapActivity.java:416)。
让我比较郁闷的地方是其实在执行这句的时候我已经判断了,要是地图不空的情况下才执行 mBaiduMap.addOverlay(markerOptions);
可以为什么会空指针呢?查看了百度地图相关的文档和论坛,出现这个问题是在地图销毁的时候调用了地图的这个方法,连续的点击进入地图和按返回键退出地图就会抛出这个空指针异常。我所使用的解决方案是在onDestroy里地图组件手动置空,具体的代码如图所示:
如果有什么问题或者更好的方案欢迎来信
(调用百度地图)连续的进入地图然后又退出地图,抛出一个很奇怪的空指针
最新推荐文章于 2022-10-14 10:47:34 发布