近日,测试出现一个问题,在手机装有手机卡情况下,将手机开启飞行模式,再关闭,app上地图界面变为蓝色,很是苦恼,究其原因,是由于用于显示地图的Fragment被回收导致。
切换飞行模式,在切回生命周期如下:
可见MainActivity被回收和销毁了,自然里面的Fragment也被回收和销毁了,找到了问题的关键点,就有了解决方案如下:
判断Activity是否被回收,被回收了就再创建activity的onCaeate()中重新替换一遍Fragment即可
OK,完美解决
近日,测试出现一个问题,在手机装有手机卡情况下,将手机开启飞行模式,再关闭,app上地图界面变为蓝色,很是苦恼,究其原因,是由于用于显示地图的Fragment被回收导致。
切换飞行模式,在切回生命周期如下:
可见MainActivity被回收和销毁了,自然里面的Fragment也被回收和销毁了,找到了问题的关键点,就有了解决方案如下:
判断Activity是否被回收,被回收了就再创建activity的onCaeate()中重新替换一遍Fragment即可
OK,完美解决