然而,幾乎完成我的第一個鈦開發應用程序,最大的問題(和缺乏文檔)是在後臺執行功能的能力。appcelerator - 在後臺執行功能?
我有一個函數,基本上只是查詢外部json文件,然後通過它循環插入數據庫中的約150條記錄。這完全掛起了應用程序,直到完成。
我試過一個jQuery異步循環插件,它的工作原理雖然其餘的應用程序仍然非常緩慢/任何命令的響應。
必須可以在後臺線程中執行一個函數,或者其他應用程序完全可以訪問。
任何人都知道如何做到這一點?
然而,幾乎完成我的第一個鈦開發應用程序,最大的問題(和缺乏文檔)是在後臺執行功能的能力。appcelerator - 在後臺執行功能?
我有一個函數,基本上只是查詢外部json文件,然後通過它循環插入數據庫中的約150條記錄。這完全掛起了應用程序,直到完成。
我試過一個jQuery異步循環插件,它的工作原理雖然其餘的應用程序仍然非常緩慢/任何命令的響應。
必須可以在後臺線程中執行一個函數,或者其他應用程序完全可以訪問。
任何人都知道如何做到這一點?
只是把你的代碼中的setTimeout:
setTimeout(function(){
/* your code */
},0);
的行爲就像是一個線程。這裏
一個解決方案表示具體功能將在以後的版本中
http://developer.appcelerator.com/question/68231/background-thread--timer-thread--service-thread
另一種解決方案是創建一個事件,並觸發其關閉,因爲窗口/視圖在一個單獨的線程中執行,向下滾動對這個page
// fire the event for the task
Ti.App.fireEvent("doLongTask");
Ti.App.addEventListener("doLongTask", function() {
// doing long task...
});
我認爲它已經有一段時間,因爲你問這個,但今天我有同樣的問題,我解決了使用代碼從活動科:Background function Acppcelerator
不幸的是,這對appcelerator沒有任何影響,它仍然掛起應用程序,而循環運行。 – Joe 2010-10-25 18:49:52