Mac OSX 版本 10.8.4 Adobe Air SDK 3.7 Flash Player 11.7 Mac OSX 调试版
我也尝试过 Adobe Air SDK 3.8 beta,但结果是一样的。
我的代码非常简单。
主要的:
package sandbox
{
import flash.display.Sprite;
import flash.system.Worker;
import flash.system.WorkerDomain;
import flash.utils.ByteArray;
public class TestWorkerMain extends Sprite
{
[Embed(source="../../workerswfs/sandbox/TestWorker.swf", mimeType="application/octet-stream")]
private static var Worker_ByteClass:Class;
private var worker:Worker;
public function TestWorkerMain()
{
var bytes:ByteArray = new Worker_ByteClass();
worker = WorkerDomain.current.createWorker(bytes);
worker.start();
super();
}
}
}
工人:
package sandbox
{
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class TestWorker extends Sprite
{
public function TestWorker()
{
super();
var t:Timer = new Timer(1000);
t.addEventListener(TimerEvent.TIMER,onTimer);
t.start();
}
protected function onTimer(event:TimerEvent):void
{
trace("working ... ");
}
}
}
在 Windows 上,我可以在 Scout 报告中看到我的工人,但在 Mac 上,没有显示工人。
worker 运行良好,但我认为它与主线程同步,这使得使用 worker 毫无意义。
有人在 Mac OSX 上遇到这个问题吗?
PS:我没有使用 chrome 嵌入式 Flash 插件,我使用的是 Adobe 插件。