计算密集与二进制任务应如何在小程序运行时中分配执行位置
简答题困难926 次浏览
参考答案与解析
# 核心结论
计算密集和二进制任务的执行位置,应根据计算量、数据规模、交互时效、可信边界及宿主能力决定,而不能默认全部放在页面逻辑上下文,也不能因为存在 Worker 就整体迁移。轻量且必须立即参与界面状态计算的任务可留在主逻辑上下文;持续占用处理器、能够表达为纯计算的任务适合 Worker;依赖密钥、跨用户数据、复杂资源或可信执行环境的任务应放在云函数或服务端。最终目标是避免长任务阻塞生命周期、事件回调和视图数据提交,同时控制消息复制、内存峰值和网络成本。
# 底层机制
小程序脚本通常运行在宿主管理的 JSContext 中,页面逻辑、定时器和事件回调共享有限的执行资源。同步大循环即使没有直接阻塞视图线程
