我有一个显示一些统计数据的仪表板,直到现在它还是非常静态的,即如果我想要一个新数据,我必须刷新页面。我已经使用jquery以更动态的方式在一个间隔上加载统计信息。它工作得很好,我不再需要刷新页面了。
但是,我注意到,如果我让页面打开一段时间,内存使用率会上升,而且没有停止的迹象。 它从大约50MB开始,然后在几个小时内(可能只有1个)看到它达到1.2GB。刷新页面不会回收内存!
明显的问题是......我做错了什么?
样品:
@app.route("/getstats")
def getstats():
return jsonify({'data': render_template('stats.html', stats=stats())})
<script type="text/javascript">
$(function poll() {
var isMenuClosed = document.querySelector('.mdl-menu__container.is-visible') == null;
if (isMenuClosed) {
$.getJSON('/getstats',
function(data) {
$("tbody#stats").empty().append(data.data);
componentHandler.upgradeDom();
});
$.getJSON('/getwidgets',
function(wdata) {
$("div#widgets").empty().append(wdata.data);
});
}
setTimeout(poll,5000);
return false;
});
</script>
我对Python,特别是JavaScript的知识非常有限。