然而,几乎完成我的第一个钛开发应用程序,最大的问题(和缺乏文档)是在后台执行功能的能力。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