一次循环引用导致的内存泄漏分析,重新认识JavaScript

内存泄漏的事情遇到的也不少,但是感觉问题蛮大,这是第一次。🤦‍♂️🤦‍♂️🤦‍♂️

事件经过

前段时间自己开发了一个基于Canvas的专用于DIY的图形编辑器:https://douyin.nicen.cn/m.html

1.起因

兢兢业业写了许久(目前300多次提交),从零开始,完成了许多以前没敢想的功能。

自以为快要小成了,今天突然想着分析一下内存。好家伙!这一波分析下来,发现了大问题,😂😂😂。

2.分析

回顾了一下自己的前端生涯,估计这种问题并不少,幸好现在的浏览器足够强大,经得起折腾。简单的分析了一下原因:无它!循环引用!

这个图形编辑器没有使用那些已经较为成熟的图形库,选择了自己从零开始写,一是因为最开始的需求毕竟独特,二是确实也有着一个技术梦,🤦‍♂️。

一次循环引用导致的内存泄漏分析,重新认识JavaScript
图形库架构如下

待续...