小程序 高频追问 Q&A
A: 常见是频繁大对象 setData 与复杂长列表渲染。(深入阅读:setData、长列表与卡顿原因)
约 2 分钟
小程序 高频追问 Q&A
1. Q: 为什么小程序会卡顿?
A: 常见是频繁大对象 setData 与复杂长列表渲染。(深入阅读:setData、长列表与卡顿原因)
2. Q: 分包的收益?
A: 降低主包体积,提升首屏加载速度。(深入阅读:分包、包体与启动速度)
3. Q: 小程序与 H5 最大差异?
A: 运行容器与 API 体系不同,能力边界不同。(深入阅读:小程序运行模型与 H5 差异)
4. Q: 常见优化动作?
A: 节流更新、虚拟列表、图片懒加载、分包预加载。(深入阅读:小程序性能优化方法)
5. Q: 如何做稳定性治理?
A: 错误上报、性能埋点、灰度发布和回滚机制。(深入阅读:错误监控与故障闭环、小程序发布流程)
6. Q: wx.login 得到的 session_key 应放在哪里?
A: 只在服务端保存和换取业务会话,不能下发到客户端或写入日志。完整链路见 小程序面试真题补充。(深入阅读:wx.login、openid 与 session_key)
7. Q: navigateTo、redirectTo 和 reLaunch 有什么区别?
A: 分别是压入新页面、替换当前页面和清空页面栈后重开;switchTab 专用于 tabBar 页面。(深入阅读:页面导航栈与路由 API)
8. Q: 为什么要减少 setData 的数据量?
A: 数据要跨逻辑层与渲染层桥接并序列化,频繁传输大对象会增加卡顿;只更新变化字段并合并同一时机的更新。(深入阅读:逻辑层、渲染层与 setData)
9. Q: 冷启动和热启动优化重点一样吗?
A: 不一样。冷启动重点是主包体积、分包和首屏资源,热启动重点是恢复状态、刷新必要数据并处理被系统销毁后的重建。(深入阅读:冷启动、热启动与状态恢复)