公司让排查性能问题,看了一天了也没啥头绪...
有没有大佬知道这种情况有可能是啥原因导致的
我初步怀疑可能是多个 hooks 之间的循环依赖问题,但是代码翻了一天也没找到啥蛛丝马迹,搜索引擎上也找不到啥有深度的排查内存泄漏的文章,都是些套话,全局变量,事件、定时器未移除啥的,心累...
![]() |
1
douxc 51 天前
devtools 记录内存快照,然后根据数据分析;猜的话太难了
|
![]() |
2
asdjgfr 51 天前
|
3
NessajCN 51 天前
等我开水晶球给你算一卦
|
4
chenliangngng 51 天前
按照我以前的经验,可以用二分法定位到有问题的代码位置
|
5
stew5566 51 天前
看起来是深层级的数据引起的多层调用,有树结构的 observe ?
|
![]() |
6
CatchXS 51 天前
用二分法查一下吧,感觉像是某个变量一直没有释放掉。
|
![]() |
7
wangcheng 51 天前
上点代码呗
|
![]() |
8
particlec 51 天前
有点像对象循环引用
|
9
3uncle 51 天前
memoizedState 没初始化吧?
|
10
lovelylain 51 天前 via Android
回退历史代码,看看哪次修改引入的,再分析改动
|
![]() |
11
tcper 51 天前
导致内存泄露归根到底就是这几个原因:全局变量,事件、定时器未移除
只是你代码里哪里全局变量,哪里的事件未移除需要你自己找 |
![]() |
12
txzh007 51 天前
内存快照看一下是什么内容占用的,凭感觉八成是字符串
|
13
duhbbx1119 51 天前 ![]() 最近在排查使用 vue2 写的业务代码的问题,同事教我排查的,操作前快照一次,操作后快照一次,比较这两次操作之间的 哪些对象没释放
|