0
im爲Android和ios開發Air應用程序並使用工作人員im在後臺執行大量任務(兩個swfs),我希望在工作人員swf中擁有SharedObjects背景工作者),這可能嗎?或者數據會丟失?你需要寫相同的共享對象BackGrounde Worker中的Sharedobject as3 Air(android,ios)
im爲Android和ios開發Air應用程序並使用工作人員im在後臺執行大量任務(兩個swfs),我希望在工作人員swf中擁有SharedObjects背景工作者),這可能嗎?或者數據會丟失?你需要寫相同的共享對象BackGrounde Worker中的Sharedobject as3 Air(android,ios)
一切都是指定兩個相同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);
你也需要考慮如何在情況下,你的線程同步要在特定的順序
如有疑問寫入數據,使用主線程與應該存儲的數據進行交互。我不記得SharedObjects和工作人員有任何限制,但從未嘗試過測試。 – Vesper