【问题标题】:Does a Web Worker run on the main ui android thread or a separate thread?Web Worker 是在主 ui android 线程还是单独的线程上运行?
【发布时间】:2019-03-09 00:18:59
【问题描述】:

我有一个使用 WebChromeClient 的 Android 旧应用程序

公共类 MyWebViewClient 扩展了 WebChromeClient

在 Android 上运行网页作为应用程序最初的意图是保持应用(浏览器、ios 和 android)的显示相同。 通常情况下,随着时间的推移(5 年),应用程序变得越来越复杂,并且使用本地 Web 数据库来存储状态以加快启动速度。

使用最新版本的 Android Oreo OS,我的应用收到 ANR 警告。我意识到现在是重新设计的时候了,但日程安排非常紧凑。 如果我将初始化代码(使用回调(承诺)的网络数据库,...)移动到 html 5 web worker 中,该代码会在 Android 应用程序的单独线程上运行(除了主 ui 线程吗?) 这会解决 ANR 问题吗?还是我必须完全重新设计?

Web Worker 是在主 ui android 线程还是单独的线程上运行?顺便说一句 - 在最新的 IOS 中,网络工作者是在主线程上运行还是在单独的线程上运行?

提前感谢您的意见。

【问题讨论】:

    标签: android performance web-worker android-8.0-oreo webchromeclient


    【解决方案1】:

    webview 不在 Android UI 线程上运行。这个问题根本与网络视图无关。相反,ANR 是已知的 Android Oreo 更改。我能够通过以下方式修复它 this post

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 2021-02-20
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2020-11-28
      相关资源
      最近更新 更多