Как убрать утечки памяти в расширении для Google Chrome?

Доброго времени суток.
Я новичок в JavaScript и в фронтенде в целом, но пришлось написать расширение для Google Chrome. И вроде бы ничего что-то загуглил что-то сам додумал и написал... И работает вроде расширение, но ресурсы памяти жрет неимоверно. Расширение состоит из одного background.js + jquery. Думаю что проблема в функции setInterval(), которая держит ссылки и сборщик мусора не может их освободить.
Вот что делает расширение:
-Периодически опрашивает сервер (дёргает php файл).
-Если получили данные с сервера выводит сообщение пользователю.
Вот текст файла background.js
background.js
chrome.notifications.onButtonClicked.addListener(notificationBtnClick);

var options = {
  type: "basic",
  title: "Basic message",
  message: "Primary message to display",
  priority: 2,
  buttons: [{ title: "Find uid"}],
};

function doNotify(serverData){
    var objs = JSON.parse(serverData);
    var lengthOfCalls = Object.keys(objs).length;
    for (i = 0; i < lengthOfCalls; i++){
        var uid = objs[i]["uid"];
        options.message = "Поступление от " + objs[i]["name"];
        chrome.notifications.create(uid, options);
    }
}

function notificationBtnClick(notID, iBtn) {
    console.log(iBtn);
    if (iBtn == "0")
    {
        var win = window.open("https://www.google.ru/#q=" + notID, '_blank');
        win.focus();
    }        
}

setInterval(function() {
    $.ajax("http://192.168.0.1/get_data.php").done(function(data){
    if (data != "false") {
        doNotify(data);
    }
    });
}, 3000);
Буду признателен за советы/исправления/конструктивную критику.
Спасибо.
  • Вопрос задан
  • 1237 просмотров
Пригласить эксперта
Ответы на вопрос 1
daager
@daager
Попробуйте, например, отказаться от jquery youmightnotneedjquery.com
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы