问题标签 [webviewrunonuithread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4851 浏览

java - 来自工作线程时,Android Webview loadUrl 不起作用

我正在开发一个包含 Web 视图的应用程序。在应用程序期间的特定时间,它会调用 Webview loadUrl。

有时调用将直接来自 UI 线程上的事件,而有时它来自后台工作线程上的事件。当它来自后台线程时,我调用 runOnUIThead() 以确保对 loadURL 的实际调用发生在 UI 线程上。

我遇到的是,当来自 UI 线程时 loadUrl() 工作正常,但是当它来自工作线程时它无法工作(即使对 loadUrl 的实际调用是通过我传递给 runOnUIThread() 的可运行对象发生的)。

设置断点后,我可以看到在这两个实例中 loadUrl() 都在 UI 线程上被调用。然而它在一种情况下有效,但在另一种情况下无效。

我目前正在筛选 Android Webview 源代码,看看我是否可以追踪为什么有时它有效而有时它不工作。如果有人能对此事有所了解,将不胜感激。

- - 更新 - -

我在这里尝试了这篇文章的一些建议:WebView loadUrl 只工作一次

在调用loadUrl之前主要做以下事情:

和:

不幸的是,它们都不起作用。

0 投票
2 回答
827 浏览

java - android:runOnUiThread 中的变量

嗨,我正在使用 Android Studio,我在 runOnUiThread 中使用不推荐使用的函数它迫使我在 runOnUiThread 中使用最终变量,这对于新函数来说是可以的,但是对于不推荐使用的函数,我得到一个错误

任何人都可以帮助解决这个问题。

0 投票
0 回答
623 浏览

android - 连续加载webview后可运行线程卡住/冻结ui

由于使用我在 android 中的可运行线程连续加载 webview,我的应用程序在一段时间后冻结。下面是我的代码:

0 投票
2 回答
1436 浏览

android - Android webview javascript接口方法在ui线程完成之前返回值

我正在从 webview 调用 JavascriptInterface 方法来调用 javascript 方法。问题是方法在获取结果值之前返回值。那么如何让 return 语句等到从 ui 线程执行 javascript 方法。

Javascript接口

所以我想让 performClick() 让 ui 线程先完成然后返回值。