BackGrounde Worker 中的共享对象 as3 Air (android,ios)
Sharedobject in BackGrounde Worker as3 Air (android,ios)
我正在为 android 和 ios 开发一个 Air 应用程序并且我在后台使用 worker 执行繁重的任务(两个 swf),我想在 worker swf(后台)中有 SharedObjects工人),这可能吗?否则数据会丢失?
您需要写入同一个 SharedObject 的所有内容都是为两者指定相同的 path
,例如
mySO = SharedObject.getLocal("myObjectFile","/");
更多信息在这里http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d80.html
这是一个简短的代码,可确保数据不会丢失,工作人员实际上正在同时做与多个 Flash 播放器相同的事情 运行。只需 运行 2 个或更多 swf 即可查看结果:
import flash.net.SharedObject;
var iterations:int = 100
function witeToSo()
{
var mySO:SharedObject = SharedObject.getLocal("myObjectFile", "/");
if (iterations > 0)
{
if (!mySO.data.str) mySO.data.str = ""
mySO.data.str += int(Math.random() * 10);
iterations--;
}
txt.text = "str: " + mySO.data.str + " symbolsTotal:" + (mySO.data.str.length) + "\n";
setTimeout(witeToSo, Math.random()*100);
}
setTimeout(witeToSo, 2000);
此外,如果您想按特定顺序写入数据,您还需要考虑如何同步线程
我正在为 android 和 ios 开发一个 Air 应用程序并且我在后台使用 worker 执行繁重的任务(两个 swf),我想在 worker swf(后台)中有 SharedObjects工人),这可能吗?否则数据会丢失?
您需要写入同一个 SharedObject 的所有内容都是为两者指定相同的 path
,例如
mySO = SharedObject.getLocal("myObjectFile","/");
更多信息在这里http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7d80.html
这是一个简短的代码,可确保数据不会丢失,工作人员实际上正在同时做与多个 Flash 播放器相同的事情 运行。只需 运行 2 个或更多 swf 即可查看结果:
import flash.net.SharedObject;
var iterations:int = 100
function witeToSo()
{
var mySO:SharedObject = SharedObject.getLocal("myObjectFile", "/");
if (iterations > 0)
{
if (!mySO.data.str) mySO.data.str = ""
mySO.data.str += int(Math.random() * 10);
iterations--;
}
txt.text = "str: " + mySO.data.str + " symbolsTotal:" + (mySO.data.str.length) + "\n";
setTimeout(witeToSo, Math.random()*100);
}
setTimeout(witeToSo, 2000);
此外,如果您想按特定顺序写入数据,您还需要考虑如何同步线程