【发布时间】: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