每次我在 Adobe Air 中发出 Ajax 请求 (jQuery) 并从外部 url 加载图像时,私有内存使用量都会增加。有什么方法可以禁用图像缓存或清除缓存文件?
例子:
$.ajax({
type: 'get',
url: someurl,
success: function(res){
$('#mydiv').attr('src', res);
}
});
每次我在 Adobe Air 中发出 Ajax 请求 (jQuery) 并从外部 url 加载图像时,私有内存使用量都会增加。有什么方法可以禁用图像缓存或清除缓存文件?
例子:
$.ajax({
type: 'get',
url: someurl,
success: function(res){
$('#mydiv').attr('src', res);
}
});
通常,垃圾收集器会释放分配给未使用变量的内存,或者在其作用域结束时释放变量。在这里,res
在回调函数结束时被清除。
无论如何,这就是在最常见的浏览器中发生的事情。我真的不知道 Adobe Air 中会发生什么,但 IIRC 它使用 WebKit,所以它的行为应该像 Chrome 和 Safari ......
如果没有,请尝试显式触发垃圾收集器分配null
给未使用的变量:
...
success: function(res){
$('#mydiv').attr('src', res);
res = null;
}
无论如何,请记住您仍然复制了图像属性中的值res
,src
因此内存使用量仍然会增加。无论如何,这应该是显而易见的。