美文网首页
[064]微信越滑越卡(补充篇)

[064]微信越滑越卡(补充篇)

作者: 王小二的技术栈 | 来源:发表于2021-04-06 13:27 被阅读0次

前言

发了[063]微信越滑越卡这个文章以后,有好多小伙伴私信我,为什么他们项目上没有出现这个问题?是否有必要集成我这个修复方案?我就来继续分析补充一下。

一、1加8T为什么并没有出现这个BUG

我再1加8T上抓了一个trace,来分析一下为什么1加8T为什么并没有出现这个BUG,而且这个手机是120hz的屏幕。


通过Trace可以发现:

1.第一个Move之前remove了所有的callback。
2.Up发生的时候,又会重新post一个callback,符合代码的逻辑。

二、为什么第一个Move之前remove了所有的callback

还记得[063]微信越滑越卡中介绍的down事件发生会postdelay一个mCheckFlywheel,delay的时间正好是40ms。

通过Trace可以发现:

1.Down和第一个Move的时间间隔是大于40ms,虽然这个手机的触控采样率大于180hz
2.因为1的条件满足,mCheckFlywheel被有效的执行了,所以第一个Move之前remove了所有的callback。

三、什么样的设备下可以复现这个问题

Down和第一个Move的时间间隔永远小于40ms

这个永远很重要,因为一旦在持续的滑动中,有一次大于40ms,就会remove了所有的callback。

四、是否需要打这个Fix Patch

1.这个Patch是没有副作用的,因为假如在1加8T上打了这个patch,只不过在Up事件发生的时候,remove callback,本来就是空的,空的情况下清理一下也没事。
2.如果你的设备Down和第一个Move的时间间隔是永远小于40ms,我建议你打这个Patch,不需要等到Android的官方释放。

总结

我觉得大家不要过分的纠结要不要打patch,大家可以按照我这个分析。
在你们项目上在微信中持续滑动一个很长的列表,抓一个trace看看,试着像我一样的分析,在考虑一下要不要打patch。
本文中Trace都是自带的trace,不是我额外添加的trace。

尾巴

图中的trace是用perfetto抓的,perfetto的教程大家可以参考一下。
[061]perfetto使用简介
https://www.jianshu.com/p/10ec0e75b994

相关文章

  • [064]微信越滑越卡(补充篇)

    前言 发了[063]微信越滑越卡[/p/2dd45aca24b7]这个文章以后,有好多小伙伴私信我,为什么他们项目...

  • [063]微信越滑越卡

    背景 在一个已经加载完成很长的微信聊天记录中,持续不断的滑动,慢慢的微信会越滑越卡。 我修复了这个问题,目前这个P...

  • 越微信,越孤独

    01 今天看了一个TED演讲视频,演讲者是MIT著名的社会心理学家Sherry Turkle。 主题就是社交网络沟...

  • 越微信越孤独

    1 自从有微信以来,无论行走在路上,还是乘坐公共交通工具,还是家人朋友聚会,总能看到周围的人在低头刷微信,我自己观...

  • 越微信 越孤独

    1、缘起 不止一次,在餐厅吃饭,看见邻桌各自拿起手机玩。有时是情侣,有时是夫妻,还有次是一家三口。一顿饭吃下来,没...

  • 越微信,越孤独

    第一次听Fine乐团唱《我发现你》的时候,我住的城市仍处于那种只穿一件雪纺长裙也能热出一身汗的酷暑天气,而你的城市...

  • 越微信,越孤单

    第一次听Fine乐团唱《我发现你》的时候,我穿着一件雪纺长裙却依然热出一身汗的季节,而你在的城市,早已发布了无数条...

  • 《越微信越孤独》

    后来我们都有了手机,可以发短信就不写信了…… 在后来 有了 微信 有了朋友圈,连打电话的时候 都不在问最近发生了什...

  • 越微信,越孤单!

    1 现在没有人离得开微信。 2 早上醒来还是懵懵懂懂的,就打开手机看微信。 晚上睡觉前,也要看一看微信。 3 走路...

  • 《越微信越孤独》 - 草稿

    后来我们都有了手机,可以发短信就不写信了…… 在后来 有了 微信 有了朋友圈,连打电话的时候 都不在问最近发生了什...

网友评论

      本文标题:[064]微信越滑越卡(补充篇)

      本文链接:https://www.haomeiwen.com/subject/fdpskltx.html