Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Browser 移动网站-如何在Android的移动浏览器中保持客户端进程的活力?_Browser_Mobile Website_Mobile Browser - Fatal编程技术网

Browser 移动网站-如何在Android的移动浏览器中保持客户端进程的活力?

Browser 移动网站-如何在Android的移动浏览器中保持客户端进程的活力?,browser,mobile-website,mobile-browser,Browser,Mobile Website,Mobile Browser,我是移动网站开发的新手,面临着这样一个问题:我想每30秒刷新一次网站上的数据,客户端会调用这些数据,服务器会提供相应的数据。问题是当我关闭浏览器或浏览器进入后台时,它停止工作。我们能做些什么使这件事成为可能吗 看一下指南。您将更深入地了解进程生命周期是如何工作的,以及后台进程和前台进程状态之间的区别。您可以将web应用程序嵌入到WebView中。通过这种方式,您可以处理关闭浏览器的情况:您可以提供一种“退出”应用程序的方法,该方法只涉及关闭您的容器活动。这样,您在javascript中注册的计时

我是移动网站开发的新手,面临着这样一个问题:我想每30秒刷新一次网站上的数据,客户端会调用这些数据,服务器会提供相应的数据。问题是当我关闭浏览器或浏览器进入后台时,它停止工作。我们能做些什么使这件事成为可能吗

看一下指南。您将更深入地了解进程生命周期是如何工作的,以及后台进程和前台进程状态之间的区别。

您可以将web应用程序嵌入到WebView中。通过这种方式,您可以处理关闭浏览器的情况:您可以提供一种“退出”应用程序的方法,该方法只涉及关闭您的容器活动。这样,您在javascript中注册的计时器仍将在“WebViewCoreThread”中运行。这是一种不受欢迎的行为,也是问题的根源,但如果您愿意,可以利用它(只需确保不在那里运行与UI相关的代码)。我从未在KitKat(它使用基于Chrome的不同网络视图)中测试过这一点,但正如我所描述的,它适用于以前的版本

现在用户可以随时关闭任何应用程序。即使没有用户交互,操作系统也会在内存不足的情况下杀死你的应用程序。所以,只要放弃那些永远不会停止的长时间运行的应用程序,因为操作系统的设计方式根本不可能做到这一点


您可以使用AlarmManager进行本机报警和计划报警。

刚刚在Android KitKat WebView上检查了这一点,根据Smith先生的评论,javascript将继续在后台执行,直到活动结束:

刚刚在WebView中运行时进行了测试:

我的直觉是,如果用户将你的应用程序移动到后台,每30秒执行一次更新似乎没有什么价值,在用户打开设备并缓存你当前拥有的信息后,再次开始更新就更有意义了

就Chrome for Android而言,同样的情况也在发生,因为Chrome进入后台,javascript仍在运行

如果你正在经历不同的行为,那么你到底看到了什么?你能给我们举个例子吗