小程序、RN 这类跨端页面点击后卡顿,怎么判断卡在渲染还是线程通信?
简答题困难1722 次浏览
参考答案与解析
围绕一次具体的交互,把链路拆成几段分别计时:输入事件什么时候到、业务逻辑跑了多久、数据什么时候跨线程传过去、界面什么时候构建和布局完、最终那一帧什么时候画出来。哪一段超出帧预算,瓶颈就在哪。60Hz 屏幕一帧大约 16.7ms,120Hz 只有 8.3ms,实际留给应用的时间还要更少。
速记要点
- 一次交互拆成:输入 → 逻辑 → 通信 → 构建布局 → 绘制提交
- 小程序:逻辑层和渲染层隔离,setData 要少而小
- RN:旧架构桥接要序列化,新架构 JSI 减少了这部分
- Flutter:分开看 UI 线程和 Raster 线程
- 在发布包、中低端真机上测,看 P95 不只看平均
**1. 各技术栈的线
