React Native Android 原生模块里 Callback、Promise 与同步方法分别适合什么返回边界?
围绕“React Native Android 原生模块里 Callback、Promise 与同步方法分别适合什么返回边”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较一次性回调、异步 Promise、@ReactMethod(isBlockingSynchronousMethod) 的线程与错。
React Native · 并发编程面试题第 1 页,显示第 1–17 题,共找到 17 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“React Native Android 原生模块里 Callback、Promise 与同步方法分别适合什么返回边”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较一次性回调、异步 Promise、@ReactMethod(isBlockingSynchronousMethod) 的线程与错。
围绕“React Native Android 原生模块如何安全地从后台线程回到 UI 线程更新界面”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 ReactApplicationContext、Activity 生命周期与 UI 线程切换的所有权。
围绕“React Native 旧 Bridge 的异步序列化在大对象与高频调用下会出现什么瓶颈”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 JSON 化、批量队列与跨线程拷贝的成本。
围绕“React Native 原生模块初始化过早为什么会拖慢启动,如何判定是否该延迟初始化”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用首帧前是否被 JS 引用、是否占用主线程和是否注册广播做判断。
围绕“为什么某些 React Native iOS 原生模块需要实现 requiresMainQueueSetup”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明模块初始化是否触碰 UIKit 或主线程假设。
围绕“React Native iOS 原生模块中 RCT_EXPORT_MODULE 与 RCT_EXPORT_METH”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明模块名解析、方法暴露与线程返回值的最低配置,不深入 Swift 混编工程配置。
围绕“React Native 中 JSI 相比传统 Bridge 解决了哪类同步调用问题,又没有解决什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须说清直接持有 C++ 对象与同步调用的收益,以及线程安全和崩溃面仍存在。
围绕“为什么 React Native 中用 Animated 改变 width/height 无法走原生驱动,代价是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释布局属性需要走 Yoga 布局与 JS 线程每帧更新导致掉帧,并给出 transform 缩放或 LayoutAnimation。
围绕“React Native Animated 的 useNativeDriver 把什么工作移出了 JS 线程,支持哪”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明动画声明序列化后在原生侧执行、每帧不再过桥,并列出仅支持 transform/opacity 等非布局属性的限制。
围绕“React Native 手势跟手动画要保证 60fps,关键约束是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明手势事件经 JS 线程处理时,JS 忙即掉帧,因此要让跟手逻辑留在 UI/原生侧。
围绕“React Native 图片解码发生在哪个线程,为什么仍可能让 UI 掉帧”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明解码可 offload 但位图上传 GPU 与布局仍在主/UI 线程,大图或密集图片仍掉帧。
围绕“React Native 中 JS 线程被长任务阻塞时用户会看到什么现象,为什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明依赖 JS 的动画、触摸响应与渲染全部延迟的表现,以及把重计算移出 JS(原生模块、分片)的方向。
围绕“React Native 旧架构中 JS 线程、UI(主)线程与原生模块线程分别负责什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 JS 执行业务逻辑、UI 线程负责布局绘制与触控、桥负责异步通信的职责划分。
围绕“如何用 React Native 内置 Perf Monitor 判断卡顿发生在 JS 线程还是 UI 线程”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出根据两条帧率曲线定位瓶颈侧的判读方法及对应的下一步排查方向。
围绕“React Native 中监听 ScrollView 的 onScroll 为什么必须设置 scrollEvent”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 iOS 默认不连续派发滚动事件、回调频率与 JS 线程压力的关系,并引出把滚动逻辑移到原生/动画线程的方向。
围绕“React Native 页面转场卡顿的官方排查思路是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按官方性能文档说明转场期间 JS 线程过载是主因,以及 InteractionManager、减少转场期渲染的缓解手段。
围绕“Android 上如何用 Systrace 分析 React Native 应用的掉帧来源”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 Systrace 能看到 JS/UI/原生各线程时间线、区分帧丢失责任侧的方法,并标注 Android 限定。