首屏之外的预渲染与预加载如何避免挤占当前页面的帧预算和内存
简答题中等350 次浏览
参考答案与解析
# 核心结论
首屏之外的预加载与预渲染应当是“可预测、可限额、可取消、可回收”的低优先级工作,而不是检测到空闲就无限执行。只有当下一页面到达概率较高、预热收益明显,并且当前页面没有启动、输入、滚动或动画等关键任务时,才应逐步预热。工程上需要分别限制网络并发、主线程执行时间、单帧工作量、内存水位和缓存容量;一旦交互开始、路径预测改变、应用进入后台或设备出现低电量、弱网、升温、内存压力,就应暂停或取消任务。
# 底层机制
预加载并非只消耗网络。资源下载会竞争连接和带宽,脚本预加载后可能继续发生解析、编译和模块初始化,图片可能经历下载、解码、上传纹理,预渲染还会执行布局、绘制并保留节点、脚本堆和图形表面。因此,即使任务通过
