From cea336dc4200b4c03cc2c2293a1a588794f94680 Mon Sep 17 00:00:00 2001 From: youlika1234 <534228345@qq.com> Date: Fri, 15 Mar 2024 09:13:12 +0800 Subject: [PATCH 1/2] Update vue-particles.vue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 销毁前销毁pJS实例,解决内存泄漏和cpu的占用。可通过performance测试 --- src/vue-particles/vue-particles.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/vue-particles/vue-particles.vue b/src/vue-particles/vue-particles.vue index aa54ea15..2643fee4 100644 --- a/src/vue-particles/vue-particles.vue +++ b/src/vue-particles/vue-particles.vue @@ -90,6 +90,10 @@ default: 'push' } }, + beforeDestroy () { + window.pJSDom[0].pJS.fn.vendors.destroypJS() + window.pJSDom = [] + }, mounted () { // import particle.js only on client-side require('particles.js') From 70ada7bdeac46631f66eef28b3f70c9f5baf2c4d Mon Sep 17 00:00:00 2001 From: youlika1234 <534228345@qq.com> Date: Sat, 16 Mar 2024 23:57:30 +0800 Subject: [PATCH 2/2] Update vue-particles.vue fix: Resolve memory leaks before component destruction --- src/vue-particles/vue-particles.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vue-particles/vue-particles.vue b/src/vue-particles/vue-particles.vue index 2643fee4..5cd79194 100644 --- a/src/vue-particles/vue-particles.vue +++ b/src/vue-particles/vue-particles.vue @@ -91,8 +91,10 @@ } }, beforeDestroy () { - window.pJSDom[0].pJS.fn.vendors.destroypJS() - window.pJSDom = [] + if (window.pJSDom && window.pJSDom.length) { + window.pJSDom[0].pJS.fn.vendors.destroypJS() + window.pJSDom = [] + } }, mounted () { // import particle.js only on client-side