android 百度地图 黑屏,百度地图 Fragment之间切换黑屏现象解决方案

用过百度地图的人多很忧伤,各种bug, 已无力吐槽,最无语的可能就是会出现黑屏现象,比如一个Activity包含三个Fragment, 其中一个Fragment嵌套MapView使用,在切换这三个Fragment时会出现明显的黑屏,这个问题出现很久了,很早的SDK版本就存在,现在最新的SDK版本依然存在这个问题,解决方案如下:

问题分析:百度地图切换界面出现黑屏原因是地图退出释放内存时渲染出现bug导致,因为是百度地图本身内部bug,所以我们无法从本质上去修复这个bug, 但是我们bug的出现黑屏现象隐藏起来,即:将地图的释放过程放入后台进行,从而避免黑屏的出现。

1,在使用MapView的Fragment的onResume/onPause方法中手动调用设置view是否可见,具体如下:

@Override

protected void OnPause(){

mMapView.setVisibility(View.INVISIBLE);

mMapView.onPause();

super.onPause();

}

进入页面时

@Override

protected void onResume(){

mMapView.setVisibility(View.VISIBLE);

mMapView.onResume();

super.onResume();

}

2, Activity对应XML布局中单独使用一个View来替换嵌套有MapView的Fragment,需要显示该Fragment 时,设置该View为可见&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android百度地图Fragment百度地图SDK提供的一个组件,可以在Android应用中嵌入地图功能。通过使用百度地图Fragment,开发者可以将地图显示在应用的某个界面上,并且可以在界面上进行一系列的交互操作。 使用百度地图Fragment,首先需要在项目的build.gradle文件中添加百度地图SDK的依赖,然后在布局文件中添加一个Fragment容器,用于显示地图。在代码中可以通过调用BaiduMapOptions的各种方法来对地图进行配置,比如设置缩放级别、显示比例尺、开启交通图等。 在Activity的代码中,需要通过FragmentManager获取到百度地图Fragment的实例,并将其添加到容器中。之后可以通过Fragment的生命周期方法进行地图的初始化和释放,比如在onCreateView方法中初始化地图,onResume方法中重新激活地图,onPause方法中暂停地图的更新等。 通过百度地图Fragment,可以实现一些常见的地图操作,比如地图的缩放、平移、添加覆盖物等。开发者可以通过调用百度地图SDK提供的方法,来实现这些功能。同时,百度地图Fragment还提供了一些回调方法,可以监听地图的变化,比如地图状态的改变、覆盖物的点击等。 总之,Android百度地图Fragment是一个非常方便的组件,可以帮助开发者在Android应用中添加地图功能,并且提供了丰富的操作和回调方法,可以满足开发者的各种需求。通过合理使用百度地图Fragment,可以为用户提供更好的地图体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值