diff options
author | Andrew Dolgov <[email protected]> | 2016-01-11 01:11:26 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2016-01-11 01:11:26 +0300 |
commit | 0b41bd3414ba9fcb9ea697da7ab8a4369c32bc95 (patch) | |
tree | a72ca93b8e36a12e18e3ee7a5454d3de22978b41 /js/feedlist.js | |
parent | 5bdcb8fd7834964d69550a788d9c666c14964f21 (diff) |
add some hacks to hopefully mitigate headlines memory leaks
Diffstat (limited to 'js/feedlist.js')
-rw-r--r-- | js/feedlist.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/js/feedlist.js b/js/feedlist.js index c9ff121d7..eb6cbdfee 100644 --- a/js/feedlist.js +++ b/js/feedlist.js @@ -51,6 +51,23 @@ function loadMoreHeadlines() { } } +function cleanup_memory(root) { + try { + var dijits = dojo.query("[widgetid]", dijit.byId(root).domNode).map(dijit.byNode); + + dijits.each(function (d) { + dojo.destroy(d.domNode); + }); + + $$("#" + root + " *").each(function (i) { + i.parentNode ? i.parentNode.removeChild(i) : true; + }); + } catch (e) { + console.log("cleanup_memory: exception"); + console.log(e); + } +} + function viewfeed(params) { try { var feed = params.feed; @@ -83,6 +100,8 @@ function viewfeed(params) { if (getActiveFeedId() != feed || !infscroll_req) { setActiveArticleId(0); _infscroll_disable = 0; + + cleanup_memory("headlines-frame"); } if (infscroll_req) { |