Android 在phonegap中实现长时间运行的后台任务
我试图运行一段javascript代码,它不断轮询服务器以获取更新。从最终用户的角度来看,使其在对应用程序性能影响最小的情况下工作的最佳方法是什么 我尝试在一个单独的iframe中生成它,但是结果的性能非常差Android 在phonegap中实现长时间运行的后台任务,android,cordova,backgroundworker,Android,Cordova,Backgroundworker,我试图运行一段javascript代码,它不断轮询服务器以获取更新。从最终用户的角度来看,使其在对应用程序性能影响最小的情况下工作的最佳方法是什么 我尝试在一个单独的iframe中生成它,但是结果的性能非常差 我目前正在android上工作,因此如果解决方案涉及编写phonegap插件来轮询服务器而不是javascript,那么现在就可以了。轮询服务器后,我需要更新本地存储中的数据。我已经在IOS中实现了这一点。phonegap的问题是无法创建运行javascript的计时器任务,因为如果.ht
我目前正在android上工作,因此如果解决方案涉及编写phonegap插件来轮询服务器而不是javascript,那么现在就可以了。轮询服务器后,我需要更新本地存储中的数据。我已经在IOS中实现了这一点。phonegap的问题是无法创建运行javascript的计时器任务,因为如果.html页面发生更改,该任务将被终止 除非您只有一个.html,并且您正在动态地更改身体部位。如果是这种情况,那么在javascript中查找setInterval
如果不是这样,那么在javascript上实现某些东西就不是一个解决方案,在IOS中,我实现了一个用于运行异步web服务调用的自定义插件。您可以做类似的事情,编写一个运行AsyncTask doInBackground()的插件,然后在javascript中回发结果。有许多教程介绍如何在phonegap中创建自定义插件。希望能有所帮助我已经在IOS中实现了这一点。phonegap的问题是无法创建运行javascript的计时器任务,因为如果.html页面发生更改,该任务将被终止 除非您只有一个.html,并且您正在动态地更改身体部位。如果是这种情况,那么在javascript中查找setInterval
如果不是这样,那么在javascript上实现某些东西就不是一个解决方案,在IOS中,我实现了一个用于运行异步web服务调用的自定义插件。您可以做类似的事情,编写一个运行AsyncTask doInBackground()的插件,然后在javascript中回发结果。有许多教程介绍如何在phonegap中创建自定义插件。如果您计划只在应用程序正在使用时进行轮询,
setInterval()
工作得相当好,希望这对您有所帮助。我的应用程序使用的是jQuery Mobile,默认情况下,它只更新DOM,而不是重新加载整个页面,这样一来,我的setInterval()
在启动后会保持运行
Android已经有了对的支持,您可以将其用于长时间连续运行的任务
我在上述组合中使用的一种解决方案:
- 当应用程序运行时,我使用
定期检查更新setInterval()
- 在启动更新检查之前,后台检查应用程序是否正在运行
- 如果应用程序没有运行,那么我使用后台服务代码只是为了检查服务器上是否有任何更新
- 若有更新,那个么我会放一个系统托盘通知,通知用户有更新等着他
- 他一启动应用程序,我就给服务打电话获取更新
如果更新不是很频繁,那么你应该考虑使用<代码> PurtudioNo.<代码>
< P>如果你只打算在应用程序使用时进行投票,则setInterval()
在启动后会保持运行
Android已经有了对的支持,您可以将其用于长时间连续运行的任务
我在上述组合中使用的一种解决方案:
- 当应用程序运行时,我使用
定期检查更新setInterval()
- 在启动更新检查之前,后台检查应用程序是否正在运行
- 如果应用程序没有运行,那么我使用后台服务代码只是为了检查服务器上是否有任何更新
- 若有更新,那个么我会放一个系统托盘通知,通知用户有更新等着他
- 他一启动应用程序,我就给服务打电话获取更新
如果更新不是很频繁,那么你应该考虑使用<代码>推送通知< /代码>