【发布时间】:2023-03-27 09:59:02
【问题描述】:
我有一个 Web 应用程序,它每秒执行一次 ajax 调用以刷新页面的状态 我在 IE7 和 jQuery(1.7.1) ajax 调用中遇到了严重的内存泄漏问题。
为了测试内存泄漏,我创建了一个 html 测试页面,它所做的只是在文档就绪时运行“refreshState”功能。
“refreshState”函数除了调用 ajax 和 通过 setTimeOut 函数设置函数下次运行的时间。
<script type="text/javascript">
var url = "http://localhost/QuotesService/QuotesService.svc/GetModel";
function refreshState() {
$.ajax({
url: url,
cache: false,
dataType: "json",
success: function (data) {
//refresh page data(wasn't activated while testing for memory leaks)
data = null;
}
});
setTimeout(function () { refreshState() }, 1000);
}
$(document).ready(function () {
refreshState();
});
</script>
有没有更好的方法来实现这个功能来消除内存泄漏?
谢谢 伊多
【问题讨论】:
-
您使用的是最新的 jQuery 版本吗?
-
请定义“内存泄漏”。提高内存使用率不是泄漏。
-
您确实必须描述您如何确定存在内存泄漏。您做了哪些确切的测试来确定存在内存泄漏?由于浏览缓存、内存池的一般使用等原因,内存在多个 ajax 调用中增加一些(达到一定限度)是正常的......
-
内存无限增加所以我猜是内存泄漏
标签: jquery ajax memory settimeout memory-leaks