解决ViewPage 存在MapView时,关闭Activity时,MapView 出现残影的问题


问题细节描述:

  • Activity中使用ViewPager 加载多个Frament
  • 第一个Fragment中存在MapView
  • 切换页面到MapView相邻的Fragment上
  • 关闭Activity,就能看到屏幕上出现MapView的残影了

截图还挺不好截的,试了好几次

截图示例如下 :

MapView的页面

MapView残影

解决方法:

重写setUserVisibleHint ,在页面不可见时,隐藏掉MapView 代码如下

 @Override
 public void setUserVisibleHint(boolean isVisibleToUser) {
        if(mMapView==null )return;
        if(isVisibleToUser){
            mMapView.setVisibility(View.VISIBLE);
        }else {
            mMapView.setVisibility(View.GONE);
        }
        super.setUserVisibleHint(isVisibleToUser);
    }