SystemUI_Recents界面滑动偶尔卡住不动

故事是这样事儿的:
刚入职不久,leader就分给我一个bug让我研究研究。
Bug:查看最近任务时,有时上滑或下滑的时候,tp有报点,但应用界面未执行响应动画。

当时对SystemUI不怎么了解,看了bug后一脸懵逼。
过了两天,leader又来消息啦,没什么思路的话就提MTK EService吧。一阵喜悦涌上心头,这个我会啊!几分钟操作,case提交成功。没想到,故事才刚刚开始。MTK 沟通了两次,要了份log后就杳无音讯了。死活不回复进展。每每leader问起此bug,都是一脑门子包。(此过程省略3000字)

既然如此,只能自己上阵啦。最近也学习了很多SystemUI相关的内容。对Android源码的了解自认为是上了一层楼的。说干就干。

从SystemUI的recents界面入手。想到的是动画效果和touchEvent的响应逻辑问题。那,应该就是在某个view里面啦。大致看了一下Recents的UI结构,锁定到RecentsView及TaskStackView。而对应的事件响应,那自然就是onInterceptTouchEvent和onTouchEvent这两个方法啦。 这里特殊一点的是,具体处理逻辑都是在两个Handler(RecentsViewTouchHandler和TaskStackViewTouchHandler只是名字叫Handler,并没有继承android.os.Handler)中进行的。

分析发现,RecentsView并没有对事件进行拦截,都传递到了TaskStackView,这也是理所当然的嘛。那么所有的逻辑都归总在了TaskStackViewTouchHandler。
经过各种debug,发现问题就发生在这里

<
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值