In general, its not safe to create view outside of main thread.
In your particular case, this is not allowed, because WebView
creates Handler()
in its constructor for communication with UI thread. But since Handler
's default constructor attaches itself to current thread, and current thread does not have Looper
running, you're getting this exception.
You might think that creating a looper thread (that must be alive at least as long as WebView
) might help you, but this actually a risky way to go. And I wouldn't recommend it.
You should stick with creating WebView
s in main thread. All controls are usually optimized for fast construction, as they are almost always created in UI thread.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…