I am working on a mobile application that needs to poll a web service on a regular interval (using setInterval). I have made a prototype based on HTML5, but when the mobile browser goes in the background, javascript execution is suspended.
I looked into creating native apps for iOS and Android. On iOS this can be done by asking for a limited amount of processing time when the application enters background mode. On Android I guess I would have to make a service that is started and stopped from the application.
However, I see that in Safari on iOS5, web workers support is back, and that this has already been supported in the Android browser for a while. This makes me wonder, can I use web workers to run javascript in the mobile browsers when they are in the background?
I am working on a mobile application that needs to poll a web service on a regular interval (using setInterval). I have made a prototype based on HTML5, but when the mobile browser goes in the background, javascript execution is suspended.
I looked into creating native apps for iOS and Android. On iOS this can be done by asking for a limited amount of processing time when the application enters background mode. On Android I guess I would have to make a service that is started and stopped from the application.
However, I see that in Safari on iOS5, web workers support is back, and that this has already been supported in the Android browser for a while. This makes me wonder, can I use web workers to run javascript in the mobile browsers when they are in the background?
Share Improve this question edited Sep 5, 2011 at 11:43 Jørgen asked Sep 5, 2011 at 11:20 JørgenJørgen 9,1409 gold badges51 silver badges68 bronze badges1 Answer
Reset to default 3The answer is no.
Unfortunately background applications with HTML5 technologies is no go for mobile. Not only mobile browsers aggressively suspend the page when it is background, but they also can kill the whole browser (tab) if they feel so. Whether you have or have not web workers does not affect this.
Running even native applications on background is not trivial on these operating systems.
What I suggest you is that
Extract background worker part out of your JS and write it in native language (Java, iOS)
Use Phonegap etc. similar wrapper for your application UI
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745397957a4625966.html
评论列表(0条)