Android 带Webview的异步平面化器

Android 带Webview的异步平面化器,android,asynchronous,android-webview,layout-inflater,Android,Asynchronous,Android Webview,Layout Inflater,我试图在WebView中使用AsyncLayoutInflater,但在后台线程中失败: Failed to inflate resource in the background! Retrying on the UI thread android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class android.webkit.WebView Caused

我试图在WebView中使用AsyncLayoutInflater,但在后台线程中失败:

Failed to inflate resource in the background! Retrying on the UI thread
android.view.InflateException: Binary XML file line #6: Binary XML file line #6: Error inflating class android.webkit.WebView
Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class android.webkit.WebView
我假设这意味着WebView不能异步膨胀,因为它在内部使用处理程序,至少使用AsyncLayoutFlater。


有没有办法解决这个问题?

异步将只在后台线程上执行。不在主循环线程中您可以从错误消息中看到,它试图退回到UI线程-
在UI线程上重试。什么是完整的堆栈跟踪?这里是完整的堆栈跟踪:是的,看起来你可能无法做到这一点。如果我正确地跟踪了源代码,那么第一次尝试在工作线程上膨胀时,似乎在助手类中设置了一个静态标志,该标志基本上表示“此UI线程
处理程序
应该已经创建”。对UI线程的第二次尝试失败,因为从未创建该
处理程序。我没有完全吸收整个源代码,但它可能会工作,如果你在一个单独的线程上使用
活套
设置进行充气。不过,如果你打算这么做,你不妨抛弃
AsyncLayoutInflater
,自己动手。