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