Web Worker 运行 是在主 ui android 线程上还是在单独的线程上?
Does a Web Worker run on the main ui android thread or a separate thread?
我有一个旧的 Android 应用程序,它使用 WebChromeClient
public class MyWebViewClient extends WebChromeClient
运行 Android 上的网页 作为应用程序。 最初的目的是保持应用程序(浏览器、ios 和 android)的显示相同。
正如通常发生的那样,应用程序随着时间的推移(5 年)变得越来越复杂,并且使用本地 Web 数据库来存储状态以加快启动速度。
使用最新版本的 Android Oreo OS,我的应用收到 ANR 警告。我意识到是时候重新设计了,但是时间非常紧。 如果我将初始化代码(使用回调(承诺)的网络数据库...)移动到 html 5 网络工作者中,该代码 运行 会在 Android 应用程序(主线程 ui 除外?) 这会解决 ANR 问题吗?还是我必须完全重新设计?
Does a Web Worker run on the main ui android thread or a separate thread? BTW - how about in the latest IOS, are web workers run on the main thread or separate thread?
提前感谢您的意见。
Web 视图不在 Android UI 线程上 运行。该问题与网络视图完全无关。相反,ANR 是一个已知的 Android Oreo 变化。我能够通过以下方式修复它
this post
我有一个旧的 Android 应用程序,它使用 WebChromeClient
public class MyWebViewClient extends WebChromeClient
运行 Android 上的网页 作为应用程序。 最初的目的是保持应用程序(浏览器、ios 和 android)的显示相同。 正如通常发生的那样,应用程序随着时间的推移(5 年)变得越来越复杂,并且使用本地 Web 数据库来存储状态以加快启动速度。
使用最新版本的 Android Oreo OS,我的应用收到 ANR 警告。我意识到是时候重新设计了,但是时间非常紧。 如果我将初始化代码(使用回调(承诺)的网络数据库...)移动到 html 5 网络工作者中,该代码 运行 会在 Android 应用程序(主线程 ui 除外?) 这会解决 ANR 问题吗?还是我必须完全重新设计?
Does a Web Worker run on the main ui android thread or a separate thread? BTW - how about in the latest IOS, are web workers run on the main thread or separate thread?
提前感谢您的意见。
Web 视图不在 Android UI 线程上 运行。该问题与网络视图完全无关。相反,ANR 是一个已知的 Android Oreo 变化。我能够通过以下方式修复它 this post