从SD卡as3 Android重新加载Swf文件

从SD卡as3 Android重新加载Swf文件,android,actionscript-3,air,flash,external,Android,Actionscript 3,Air,Flash,External,我正在开发一个android应用程序,我希望从外部服务器下载swf文件,将它们保存到SD卡,然后在应用程序中加载它们。下载工作正常,swf保存在应用程序目录中。以下是我从SD卡加载swf的代码: var myloader:Loader = new Loader(); var myhomeButton:btnHome = new btnHome(); addChild(myloader); var swfFilePath:File = File.applicationStorageDirect

我正在开发一个android应用程序,我希望从外部服务器下载swf文件,将它们保存到SD卡,然后在应用程序中加载它们。下载工作正常,swf保存在应用程序目录中。以下是我从SD卡加载swf的代码:

var myloader:Loader = new Loader();
var myhomeButton:btnHome = new btnHome();

addChild(myloader);

var swfFilePath:File = File.applicationStorageDirectory.resolvePath("Android/data/myswffile.swf"); 
var inFileStream:FileStream = new FileStream(); 
inFileStream.open(swfFilePath, FileMode.READ); 
var swfBytes:ByteArray = new ByteArray();
inFileStream.readBytes(swfBytes);
inFileStream.close();

var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
loaderContext.allowCodeImport = true;
myloader.contentLoaderInfo.addEventListener(Event.COMPLETE, mycompleteHandler);
myloader.loadBytes(swfBytes, loaderContext);

function mycompleteHandler(evt:Event):void
{
    myloader.contentLoaderInfo.removeEventListener(Event.COMPLETE, mycompleteHandler);
    addChild(myhomeButton);
    myhomeButton.height = _height * 0.08;
    myhomeButton.width = myhomeButton.height;
    myhomeButton.x = 10;
    myhomeButton.y = 10;
    myhomeButton.addEventListener(MouseEvent.CLICK, myexitfftn);
}

function myexitftn(evt:Event):void
{
    myloader.unloadAndStop(true);
    removeChild(myhomeButton);
    gotoAndStop(1, "SomeOtherFrame");
}
问题是,当我单击退出按钮时,swf将卸载,但当我重新加载它时,它将从加载的swf的第二帧开始,第三次从第三帧开始,依此类推。。。我哪里做错了,或者什么是替代方案,请指导

Complete
处理程序中尝试,
addChild(myloader)
,退出时
removeChild
null
,以便从内存中完全删除加载的
swf
,如下所示:

function mycompleteHandler(evt:Event):void
{
    myloader.contentLoaderInfo.removeEventListener(Event.COMPLETE, mycompleteHandler);

    addChild(myloader);


    //... Rest of code remains same
}

function myexitftn(evt:Event):void
{
    myloader.unloadAndStop();
    removeChild(myloader);
    myloader = null;   

    removeChild(myhomeButton);
    gotoAndStop(1, "SomeOtherFrame");
}

还是一样的问题。我以前已经想到过这个,也试过这个。