项目疑难杂症记录(五):fragment生命周期都回调了,却不见其页面展示

继续记录我的疑难bug解决过程,这次要说的bug相比前几篇来说,更难定位,因为影响较大,直接导致不解决这个bug,根本就没有办法出版本,两三个同事定位了半天也没有结果,最后我自告奋勇的暂时放下手中的工作任务,去解决,因为我确实很喜欢解决疑难的bug,哈哈,这里面小小自吹一下哈~~
主要的现象是一些操作之后,添加fragment,正常应该会显示fragment中的页面,但是这个bug奇怪的地方就是fragment的生命周期都走了,onCreateView 也正常,页面却始终不出来。
业务流程:互动上课中,点击下课,回到主界面,再进去课表页面
bug是回到主界面再次进去课表页面,课表页面不见了。
一、现象描述:

1、我先贴出正常的页面操作流程,见下图。

在这里插入图片描述
2、bug的现象:
在这里插入图片描述
对比画面的最后一帧,正常现象是返回到课表页面,出问题的是进去课表没有了,显现的是摄像机画面。

二、问题定位
首先经过日志打印,fragment生命周期是走的,再次通过Android DeviceMonitor工具查看view的层级树,看看是怎么回事。
在这里插入图片描述
右边红框子里面的是fragment的根view,左边的参数表明这个view的宽和高都是0,说明虽然已经添加,但是没有测量,是不是很奇怪?
遂又从日志中分析,发现了一个 令我警惕的日志。

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views

很明显,在子线程当中操作了View的状态,应该就是和这个有关系了,这个操作代码是隐藏的子线程,不容易发现,是其他同事加的,好了,找到直接原因了,版本可以顺利发布了,得到了同事们的夸

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值