多页面混合容器复用脚本与缓存后为何会产生隔离失效和阶梯式内存增长
简答题困难875 次浏览
参考答案与解析
核心结论
多页面混合容器的阶梯式内存增长,通常不是单一页面“占用较大”,而是容器池、脚本上下文、桥接回调、资源缓存和原生对象之间存在跨生命周期引用,导致页面退出后无法回收。复用能降低再次打开耗时,但必须建立明确的所有权、租户配额、释放协议和内存压力降级机制。优化的目标不是让缓存命中率最高,而是在启动收益、业务隔离、峰值内存和系统被杀风险之间找到可验证的平衡。
底层机制与决策依据
WebView 页面退出时,文档节点、事件监听器、计时器、闭包、脚本全局对象和桥接代理可能仍被容器或原生层引用。原生对象持有脚本回调,脚本对象又持有原生句柄时,两个回收体系无法仅凭各自的可达性判断及时释放。图片缓存、字体缓存、网络缓
