【发布时间】:2011-06-13 12:57:21
【问题描述】:
我有一个加载器 SWF,它在后台运行一些代码并加载其他 SWF。使用此代码:
private function loadScreensaver():void {
screensaverSWF = new Loader();
var req:URLRequest;
switch(areaNumber){
case 1 :
req = new URLRequest("exNorthernFrontierScreensaver.swf");
break;
case 2 :
req = new URLRequest("exRomanEmpireScreensaver.swf");
break;
case 3 :
req = new URLRequest("exRomanCarlisleScreensaver.swf");
break;
case 4 :
req = new URLRequest("exRomanBritainScreensaver.swf");
break;
}
screensaverSWF.load(req);
addChild(screensaverSWF);
GAME_STATE = SCREENSAVER;
}
我加载屏幕保护程序并将其添加到舞台。使用 MonsterDebugger 我可以看到内存从大约 80mb 稳步上升,直到应用程序退出(我使用 windows 投影仪)。我无法解决的是为什么,屏幕保护程序 SWF 没有附加代码,只是一些淡入淡出的时间线动画。 知道这里发生了什么吗?
编辑: 我一直在测试,发现我有一个图像开始阶段然后补间打开和关闭并被删除。当它循环时,它会再次添加到内存中,就好像仍然保留第一个图像一样。这一切都在时间线上完成。
编辑2: http://www.rezmason.net/blog/caching-timeline-objects-in-flash 这似乎是问题,但没有给出解决方案。此屏幕保护程序每天最多可运行 6 小时,在 2 小时后退出。
【问题讨论】:
标签: flash actionscript-3