0
我一直在为此奋斗一段时间。 我有一个加载器每十秒加载一个外部图像。我的问题是,虽然我已经尝试过所有类型的东西来清理它,但每次加载图像时都会消耗更多的内存。加载程序不会从内存中清除
正如你所看到的,在代码的最后,我尝试了一切,我可以找到没有任何结果。每发生一次myLoader.load(fileRequest),内存使用量就会越来越大。
有什么想法?
:-(
var tenSec:Timer = new Timer(1000,10);
var image:DisplayObject;
var myLoader:Loader;
tenSec.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
tenSec.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
tenSec.start();
function onTimerComplete(event:TimerEvent):void
{
myLoader= new Loader();
myLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onLoaderReady);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderReady, false, 0, true);
var fileRequest:URLRequest = new URLRequest("http://"+ip+"/radiosite/image.jpg?nocache=" + new Date().getTime());
myLoader.load(fileRequest);
function onLoaderReady(e:Event)
{
image = myLoader.content;
addChild(image);
image = null;
myLoader.unload();
myLoader = null;
System.gc();
fileRequest = null;
}
tenSec.reset();
tenSec.start();
}
我认为你是完全正确的,由于某种原因,我不认为注释掉addChild,看看是否会导致问题! 还有一个问题是: 如何添加**图像**,因为它在** onTimerComplete **之前为null,我无法实例化DisplayObject(var image:DisplayObject = new DisplayObject();)? –
AWWGG..Ignore我,我累了....我只是添加了相同的代码来加载一次以外的onTimerComplete图像。 非常感谢您的帮助 –
@StratosIon如果有帮助请投票,如果是解决方案,请接受答案。 ty,很高兴我能帮上忙! – zamnuts