【问题标题】:Codename One - BrowserComponent: make the web page always working in the background代号一 - BrowserComponent:使网页始终在后台运行
【发布时间】:2018-01-30 03:32:43
【问题描述】:

我有一个 BrowserComponent 加载一个网页,每隔几秒(假设是 30 秒,我不记得有多少)通过 ajax 执行一些操作。这些 ajax 请求获取更新并保持登录。

我的问题是当应用程序在后台时如何使网页工作:有时应用程序运行良好,有时它被操作系统杀死。当它在后台时(我想是因为有时,当我重新打开应用程序时,它会重新启动)。

有些应用程序永远不会被杀死,例如媒体播放器、电子邮件客户端等:如何让我的应用程序始终在后台运行?当然,我认为我的应用程序的 CPU 负载非常低,但我没有找到任何方法将其 cpu 负载与其他应用程序进行比较。

非常感谢您的帮助。

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    您会发现使用网络浏览器很难做到这一点。不同的操作系统有不同的行为,但即使是过去限制最少的 Android 也正在朝着更严格的后台行为发展,以延长电池寿命。

    misc section of the developer guide 中,我们讨论了后台模式,例如后台获取等。

    您可以从 Codename One 代码中执行此操作,该代码编译为本机,但您无法从 JavaScript 中利用它,因为它没有为操作系统提供足够的控制权。

    【讨论】:

    • 我试图查看您链接的页面,但没有任何关于“后台获取”或“后台模式”的信息。但是我找到了这些页面:codenameone.com/blog/background-fetch.htmlcodenameone.com/javadoc/com/codename1/background/… 其他后台模式记录在哪里?
    • P.S.:假设我有一个应用程序(有或没有 BrowserComponent)并且该应用程序(在 Java 中)实现了 performBackgroundFetch。让应用程序在后台运行就足够了吗?例如,我可以仅出于防止操作系统的目的而获取“虚假数据”吗?从杀死应用程序?
    • 可能不会,但谁知道呢?这是一个黑客,即使它对你有用,谷歌和苹果都不会保证它会继续工作。事实上,两者都不止一次地改变了背景行为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 2011-02-03
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多