Skip to content

Commit d166ae3

Browse files
committed
fix(background): 移除资源跟踪器中误导性的事件监听器管理
- 移除事件监听器和消息监听器的跟踪代码,仅保留定时器管理,以避免误导性的事件监听器管理并修复潜在的内存泄漏问题
1 parent 270beb8 commit d166ae3

1 file changed

Lines changed: 1 addition & 24 deletions

File tree

background.js

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,10 @@ importScripts('domain-rules-manager.js');
1414
importScripts('shared/shared-update-checker.js');
1515

1616
// --- 资源管理器 ---
17+
// 仅管理定时器,避免误导性的事件监听器管理
1718
const resourceTracker = {
18-
eventListeners: [],
1919
timers: [],
2020
intervals: [],
21-
messageListeners: [],
22-
23-
// 事件监听器管理
24-
addEventListener: function(target, event, handler, options = null) {
25-
target.addListener(handler);
26-
this.eventListeners.push({ target, event, handler, options });
27-
},
28-
29-
removeEventListener: function(target, event, handler, options = null) {
30-
target.removeListener(handler);
31-
this.eventListeners = this.eventListeners.filter(
32-
listener => !(listener.target === target &&
33-
listener.event === event &&
34-
listener.handler === handler &&
35-
listener.options === options)
36-
);
37-
},
3821

3922
// 定时器管理
4023
setTimeout: function(callback, delay) {
@@ -61,12 +44,6 @@ const resourceTracker = {
6144

6245
// 统一清理方法
6346
cleanup: function() {
64-
// 清理事件监听器
65-
this.eventListeners.forEach(({ target, event, handler, options }) => {
66-
target.removeListener(handler);
67-
});
68-
this.eventListeners = [];
69-
7047
// 清理定时器
7148
this.timers.forEach(id => clearTimeout(id));
7249
this.timers = [];

0 commit comments

Comments
 (0)