vue keep-alive未设置max导致页面加载越来越慢

1,086 阅读1分钟

不断的打开关闭待测页面, 观察内存的情况 待测页面是一个多页签编辑页面, 根据不同的id做keep-alive缓存,

开始时候的内存, 每次新开一个不同id的多页签编辑页面, 内存上升大约80M 企业微信截图_86bdf7c7-0c66-4a55-a46d-1177819926e4.png 新打开一个多页签编辑页面,内存上升大约80MB, 关闭当前页面再次打开同id的页面, 内存上升不明显, 因为这是从缓存中激活, 不会重新占用内存去缓存; 又新打开一个不同id的多页签编辑页面(历史没有被打开过), 需要占用内存去缓存该页面,所以内存又上升了大约80M,关闭当前多页签编辑页面, 内存不回收, 因为当前多页签编辑页面还存在内存中

所以当打开了很多的多页签编辑页面,内存中就缓存了很多份,故导致内存不断上涨,优化方式, 1. 设置keep-alive最大值max,keep-alive的max默认值是Infinity 2. 或者每次关闭多页签的时候,清除当前页面的缓存

企业微信截图_259a1599-da64-4759-9c53-f449e3b63ab7.png 当内存达到3000MB是页面点击反应慢