fragment切换来切换去发送花屏或重叠的问题
来源:互联网 发布:js 点击添加class 编辑:程序博客网 时间:2024/06/05 09:42
如果有谁发生这种问题 我觉得首先看你的fragment切换机制
你使用的是add还是replace 这两种产生的效果不一样的
其实fragment在被切换的时候 java 机制是这样的 :把引用销毁 内存不动
这句话怎么理解,因为我们在java中申请一个变量的时候都是这样的,现在 堆内存 中给你分配地址空间,然后在 栈内存 中给你装上内容
栈内存是指向 堆内存,理解了这个上面那句话就好理解
然后我们再回到fragment切换的时候,首先java把当前的fragment销毁掉,然后把切换之后的fragment显示出来,
而这个销毁的过程你必须清楚, 还是上面那句话,重要的事说三片 销毁引用 内存不动
这个时候发生 一种 空 错误 或者 发生一种你忘记了执行hide代码的问题:
1.如果引用不存在了,肯定是无法销毁的 这个时候还没有报错,但是错误的体现就在花屏上
2.如果你根本就忘记了hide,那谁都怪不了
在我们程序中销毁大家应该都知道就是hide 或者你自己再写个函数remove里面肯定调用的也是hide了,
好了 如果你这个时候都看懂了,知道了这个没有hide掉,也就是当我们切换的时候 这里假设从A切换到B 那么A是没有被成功hide哦
然后fragment管理事务器就会把B显示出来,好了这里就是重点了,B会被java创建 而由于A没有被成功hide A也会被创建,因为只要有fragment没有被hide
fragment管理事务器都会负责把你显示出来,这个应该清楚把,
那么A跟B都创建了,这个时候肯定就会发生 屏幕布局重叠的情况了吧, 就是我们说的花屏问题
这里面的原理我觉得我已经说清楚了,如何修改修复这个bug 就需要我们去看我们有没有成功把不需要的fragment给 hide掉了
从这个方向你一定能解决问题的,阿西吧保佑你完美解决问题!!!!
推荐看这篇文章:我觉得他说的蛮好
http://www.tuicool.com/articles/jea2QfY
- fragment切换来切换去发送花屏或重叠的问题
- Fragment 切换时 重叠问题
- android 使用fragment切换,出现fragment重叠的问题
- 多个Fragment使用show和hide来切换时的画面重叠的问题
- fragment 的切换并且解决重叠的问题
- Android Studio 切换fragment重叠问题
- Android横屏开发的老梗---Fragment切换混乱重叠问题
- 关于横竖屏切换后Fragment发生重叠问题的解决
- # **Fragment切换时重叠显示的解决办法**
- fragment 横屏切换 view 重叠
- Fragment切换的问题
- 通过RadioGroup切换Fragment,快速切换会导致Fragment重叠或者IndexOutOfBoundsException: Invalid index 1, size is 1的问题
- 切换Fragment 出现列表重叠
- Android Fragment 切换多个界面 重叠问题 隐藏问题
- Android中Fragment切换时重叠透明问题总结
- 关于Activity加载Fragment切换Show和Hide重叠问题
- 解决当使用hide()和show()在多个Fragment 切换时,出现的重叠问题
- winform中多个panel重叠的切换问题
- [OpenJudge-NOI]最大公约数与最小公倍数
- Android注解式绑定控件BindView
- bootstrap兼容IE8问题
- [OpenJudge-NOI]最接近的分数
- python os进行文件操作
- fragment切换来切换去发送花屏或重叠的问题
- boost linux 安装
- mysql的读和写
- jboss错误
- SylixOS的BSP开发实例之S3C2416 【第一篇】时钟配置
- PHP使用eval()函数的注意事项
- nice()
- [OpenJudge-NOI]求小数的某一位
- IF,String编程趣事==和equals的区别