Android没有锁定竖屏的时候退出界面出现旋转和黑屏的情况
缘起:最近有个需求在看直播的时候需要自动根据重力旋转屏幕,在系统锁定竖屏时不做任何旋转。
高高兴兴撸代码,偶然发现在退出直播间的时候出现了旋转一下,并黑屏,回到首页的时候首页重新加载了一遍,以下记录查找原因的方法。
在多次测试发现bug出现在系统未锁定竖屏的时候,百度了一大堆,也没找到我的解决方法,在偶然间看到另外一个界面也会有这样的情况,他的操作是在退出界面的时候toast了一个修改成功,注释掉修改成功就没问题了,但是需求还是需要提示,怎么办呢,加一个延迟100毫秒再退出,没问题了。再回来看直播详情界面,大概知道了出现问题的情况是怎么引起的
@Override
public void finish() {
super.finish();
HttpClient.getInstance().cancel(mTag);
if (giftFloatView!=null) {
if (giftFloatView.getParent() instanceof ViewGroup) {
((ViewGroup) giftFloatView.getParent()).removeAllViews();
}
giftFloatView.onDestroy();
}
if (allGiftFloatView!=null) {
if (allGiftFloatView.getParent() instanceof ViewGroup) {
((ViewGroup) allGiftFloatView.getParent()).removeAllViews();
}
allGiftFloatView.relese();
}
}
为了查找原因直接暴力注释该代码,发现完美解决问题,总结一下大致原因是在退出界面之前不能做有界面相关的操作。