参考答案:
内存泄露的解释:程序中己动态分配的堆内存由于某种原因未释放或无法释放。
1// main.js 2// 场景1 3function a(){ 4 b=10; 5} 6a(); 7b++; 8 9// 场景2 10setTimeout(()=>{ 11 console.log(b) 12},1000)
1 2function closuer (){ 3 const b = 0; 4 return (c)=> b + c 5} 6 7const render = closuer(); 8 9render(); 10render = null; // 手动设置为null,GC会自己去清除
1 2function addEvent (){ 3 const node = document.getElementById('warp'); 4 node.addEventListener('touchmove',()=>{ 5 console.log('In Move'); 6 }) 7} 8 9const onTouchEnd = (){ 10 const node = document.getElementById('warp'); 11 node. 12} 13 14useEffect(()=>()=>{ 15 const node = document.getElementById('warp'); 16 node.removeEventListener('touchmove'); 17}) // 类似react 生命周期函数: componentWillUnmount 18render(<div id='warp' onTouchEnd={onTouchEnd}> 19 // code... 20</div>)
最近更新时间:2024-08-10