Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS中的URLLoader或AIR Worker中的Loader会杀死该Worker,但Android可以_Ios_Actionscript 3_Air_Loader_Worker - Fatal编程技术网

iOS中的URLLoader或AIR Worker中的Loader会杀死该Worker,但Android可以

iOS中的URLLoader或AIR Worker中的Loader会杀死该Worker,但Android可以,ios,actionscript-3,air,loader,worker,Ios,Actionscript 3,Air,Loader,Worker,我正试图在AIR/iOS应用程序中将图像获取和处理工作交给一名员工。但是,在调用loader.load()之后,加载器只获得打开事件。此外,它还将杀死任何计时器或事件。尽管工作进程的状态显示为“正在运行”,但请输入\u帧侦听 我的代码在空中模拟器和Android设备(Galaxy S5)上的功能与预期一样,但在iOS模拟器和设备本身上都会失效。下面是我的测试应用程序对AIR Sim、iOS Sim和iPhone的跟踪输出。您会注意到,对于iOS测试,它永远不会“完成”。我试图同时加载4个图像,但

我正试图在AIR/iOS应用程序中将图像获取和处理工作交给一名员工。但是,在调用loader.load()之后,加载器只获得打开事件。此外,它还将杀死任何计时器或事件。尽管工作进程的状态显示为“正在运行”,但请输入\u帧侦听

我的代码在空中模拟器和Android设备(Galaxy S5)上的功能与预期一样,但在iOS模拟器和设备本身上都会失效。下面是我的测试应用程序对AIR Sim、iOS Sim和iPhone的跟踪输出。您会注意到,对于iOS测试,它永远不会“完成”。我试图同时加载4个图像,但也只加载1个:

AIR SIM Debug: (Works!) STARTING LOADER 0 STARTING LOADER 1 STARTING LOADER 2 STARTING LOADER 3 0 [Event type="open" bubbles=false cancelable=false eventPhase=2] 1 [Event type="open" bubbles=false cancelable=false eventPhase=2] 2 [Event type="open" bubbles=false cancelable=false eventPhase=2] 3 [Event type="open" bubbles=false cancelable=false eventPhase=2] [SWF] MultiLoaderWorkerTest.swf - 2,838 bytes after decompression [SWF] MultiLoaderWorkerTest.swf - 2,838 bytes after decompression 2 [Event type="complete" bubbles=false cancelable=false eventPhase=2] 0 [Event type="complete" bubbles=false cancelable=false eventPhase=2] 3 [Event type="complete" bubbles=false cancelable=false eventPhase=2] 1 [Event type="complete" bubbles=false cancelable=false eventPhase=2] iOS Simulator: (Broken!) [SWF] MultiLoaderWorkerTest.swf - 2,838 bytes after decompression [SWF] MultiLoaderWorkerTest.swf - 2,838 bytes after decompression STARTING LOADER 0 STARTING LOADER 1 STARTING LOADER 2 STARTING LOADER 3 0 [Event type="open" bubbles=false cancelable=false eventPhase=2] 1 [Event type="open" bubbles=false cancelable=false eventPhase=2] 2 [Event type="open" bubbles=false cancelable=false eventPhase=2] 3 [Event type="open" bubbles=false cancelable=false eventPhase=2] iOS Debug: (Broken!) [SWF] MultiLoaderWorkerTest.swf - 835 bytes after decompression [SWF] MultiLoaderWorkerTest.swf - 835 bytes after decompression STARTING LOADER 0 STARTING LOADER 1 STARTING LOADER 2 STARTING LOADER 3 0 [Event type="open" bubbles=false cancelable=false eventPhase=2] 1 [Event type="open" bubbles=false cancelable=false eventPhase=2] 2 [Event type="open" bubbles=false cancelable=false eventPhase=2] 3 [Event type="open" bubbles=false cancelable=false eventPhase=2] Android Debug: (Works!) [SWF] MultiLoaderWorkerTest.swf - 2,839 bytes after decompression [SWF] MultiLoaderWorkerTest.swf - 2,839 bytes after decompression STARTING LOADER 0 STARTING LOADER 1 STARTING LOADER 2 STARTING LOADER 3 1 [Event type="open" bubbles=false cancelable=false eventPhase=2] 0 [Event type="open" bubbles=false cancelable=false eventPhase=2] 2 [Event type="open" bubbles=false cancelable=false eventPhase=2] 3 [Event type="open" bubbles=false cancelable=false eventPhase=2] 3 [Event type="complete" bubbles=false cancelable=false eventPhase=2] 2 [Event type="complete" bubbles=false cancelable=false eventPhase=2] 1 [Event type="complete" bubbles=false cancelable=false eventPhase=2] 0 [Event type="complete" bubbles=false cancelable=false eventPhase=2] 空气模拟调试:(工作!) 启动装载机0 起动装载机1 起动装载机2 起动装载机3 0[事件类型=“打开”气泡=假可取消=假事件阶段=2] 1[事件类型=“打开”气泡=假可取消=假事件阶段=2] 2[事件类型=“打开”气泡=假可取消=假事件阶段=2] 3[事件类型=“打开”气泡=假可取消=假事件阶段=2] [SWF]MultiLoaderWorkerTest.SWF-解压后的2838字节 [SWF]MultiLoaderWorkerTest.SWF-解压后的2838字节 2[事件类型=“完成”气泡=假可取消=假事件阶段=2] 0[Event type=“complete”气泡=假可取消=假事件阶段=2] 3[事件类型=“完成”气泡=假可取消=假事件阶段=2] 1[事件类型=“完成”气泡=假可取消=假事件阶段=2] iOS模拟器:(坏了!) [SWF]MultiLoaderWorkerTest.SWF-解压后的2838字节 [SWF]MultiLoaderWorkerTest.SWF-解压后的2838字节 启动装载机0 起动装载机1 起动装载机2 起动装载机3 0[事件类型=“打开”气泡=假可取消=假事件阶段=2] 1[事件类型=“打开”气泡=假可取消=假事件阶段=2] 2[事件类型=“打开”气泡=假可取消=假事件阶段=2] 3[事件类型=“打开”气泡=假可取消=假事件阶段=2] iOS调试:(坏了!) [SWF]MultiLoaderWorkerTest.SWF-解压缩后835字节 [SWF]MultiLoaderWorkerTest.SWF-解压缩后835字节 启动装载机0 起动装载机1 起动装载机2 起动装载机3 0[事件类型=“打开”气泡=假可取消=假事件阶段=2] 1[事件类型=“打开”气泡=假可取消=假事件阶段=2] 2[事件类型=“打开”气泡=假可取消=假事件阶段=2] 3[事件类型=“打开”气泡=假可取消=假事件阶段=2] Android调试:(工作!) [SWF]MultiLoaderWorkerTest.SWF-解压缩后的2839字节 [SWF]MultiLoaderWorkerTest.SWF-解压缩后的2839字节 启动装载机0 起动装载机1 起动装载机2 起动装载机3 1[事件类型=“打开”气泡=假可取消=假事件阶段=2] 0[事件类型=“打开”气泡=假可取消=假事件阶段=2] 2[事件类型=“打开”气泡=假可取消=假事件阶段=2] 3[事件类型=“打开”气泡=假可取消=假事件阶段=2] 3[事件类型=“完成”气泡=假可取消=假事件阶段=2] 2[事件类型=“完成”气泡=假可取消=假事件阶段=2] 1[事件类型=“完成”气泡=假可取消=假事件阶段=2] 0[Event type=“complete”气泡=假可取消=假事件阶段=2] 我的代码如下。我删除了proges和HTTP_STATUS事件,以清晰地显示跟踪输出,因为无论是iOS测试还是其他测试,都没有达到这样的效果

包
{
导入flash.display.Loader;
导入flash.display.Sprite;
导入flash.events.Event;
导入flash.events.IOErrorEvent;
导入flash.events.SecurityErrorEvent;
导入flash.net.URLRequest;
导入flash.system.MessageChannel;
导入flash.system.Worker;
导入flash.system.WorkerDomain;
公共类MultiLoaderWorkerTest扩展了Sprite
{
私人var工作者:工作者
private-var-primordialToWorker:MessageChannel;
私有var-workerToPrimordial:MessageChannel;
私有变量加载器:向量。;
公共函数MultiLoaderWorkerTest()
{
如果(Worker.current.isPrimordial)
{
worker=WorkerDomain.current.createWorker(loaderInfo.bytes,true);
primordialToWorker=Worker.current.createMessageChannel(Worker);
workerToPrimordial=worker.createMessageChannel(worker.current);
worker.setSharedProperty(“primordialToWorker”,primordialToWorker);
worker.setSharedProperty(“workerToPrimordial”,workerToPrimordial);
workerToPrimordial.addEventListener(Event.CHANNEL_消息,onWorkerToPrimordial);
worker.start();
}
其他的
{
加载器=新向量。();
primordialToWorker=Worker.current.getSharedProperty(“primordialToWorker”);
workerToPrimordial=Worker.current.getSharedProperty(“workerToPrimordial”);
primordialToWorker.addEventListener(事件.CHANNEL_消息,onPrimordialToWorker);
workerToPrimordial.发送(“准备就绪”);
}
}
WorkerToPrimordial上的私有函数(e:事件):无效
{
var msg:*=workerToPrimordial.receive();
如果(消息==“准备就绪”)
{
原始工作人员。发送(“GO”);
}
}
primordialtoworker上的私有函数(e:事件):void
{
var msg:*=primordialToWorker.receive();
如果(消息==“GO”)
{
loadImage();
loadImage();
loadImage();
loadImage();
}
}    
私有函数loadImage():void
{
变量加载器:Lo