Actionscript 3 加载某些pict时,空中应用程序崩溃

Actionscript 3 加载某些pict时,空中应用程序崩溃,actionscript-3,Actionscript 3,我已经为ios和android创建了一个应用程序。它将从本地目录动态加载一些图像并显示在屏幕上。但我意识到几个小时后,应用程序会自动崩溃。请帮忙。下面的代码是我的代码 timer = new Timer(AppSetting.SCREENSAVER_INTERVAL * 1000); timer.addEventListener(TimerEvent.TIMER, loadNewImage); timer.start(); private function loadNewImage(e:Tim

我已经为ios和android创建了一个应用程序。它将从本地目录动态加载一些图像并显示在屏幕上。但我意识到几个小时后,应用程序会自动崩溃。请帮忙。下面的代码是我的代码

timer = new Timer(AppSetting.SCREENSAVER_INTERVAL * 1000);
timer.addEventListener(TimerEvent.TIMER, loadNewImage);
timer.start();

private function loadNewImage(e:TimerEvent):void {
    //timer.
    //timer.removeEventListener(TimerEvent.TIMER, loadNewImage);
    //var f_Index:int = int(Math.random() * images.length);

    var f_Loader:Loader =  new Loader();

    f_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void {
        //trace(System.totalMemory / 1024);
        f_Loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, arguments.callee);
        f_Loader = null;

        if (screensaver) {
            removeChild(screensaver);
            screensaver.bitmapData.dispose();
            screensaver = null;
            //System.gc();
        }

        screensaver = Bitmap(f_Loader.content);
        addChild(screensaver);
        screensaver.width = AppSetting.STAGE.stageWidth;
        screensaver.height = AppSetting.STAGE.stageHeight;
    });

    f_Loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function(e:IOErrorEvent):void {
        trace("load screensavers image error!");
    },false);

    try {
        f_Loader.load(new URLRequest(File.applicationStorageDirectory.resolvePath(AppSetting.SC REENSAVER_PATH + images[f_Index]).url));
        f_Index = f_Index + 1;

        if (f_Index == images.length)
        {
            f_Index = 0;
        }
    } catch (e:Error) {
        trace("load screensavers image error!");
    }

    //timer.addEventListener(TimerEvent.TIMER, loadNewImage);
    //trace(System.totalMemory / 1024);
    dispatchEvent(new Event(LOADED));
}

我已将所有var设置为null,但它仍然会崩溃。

如果您将代码缩进得更整齐一些,并去掉一些空行,这将很有帮助。每个缩进使用4个空格,代码块之间使用一个空行。你考虑过检查你的应用程序使用了多少内存吗<代码>跟踪(System.totalMemory/1024/1024)如果加载的图像太多,并且不
null
它们,它们将永远留在内存中…嗨,我已经将位图对象“screensaver”设置为null。在我从目录中加载图像并显示之后,我将它们设置为null(screensaver=null),但它仍然崩溃。请帮助您只需
null
您不再使用的图像。你分析过内存使用情况吗?是的,我用FlashDevelopSWF分析器来分析内存。这是正常的,位图和bitmapdata对象内存并不总是增加。我已将screensaver设置为null,是否正确?屏幕保护程序是“公共变量屏幕保护程序:位图=空