Hola, hallamos la solución a tu interrogante, has scroll y la hallarás aquí.
Solución:
Si bien las vistas web deben manipularse en un solo subproceso, no es necesario que sea el subproceso de la interfaz de usuario (a menos que desee adjuntar la vista web a la jerarquía de vistas), sin embargo, debe ser el mismo subproceso para todas las vistas web.
Si bien no es algo explícitamente compatible (o muy probado), no hay nada especial que haga WebView para evitar que lo ejecute en un Servicio. WebView llama a un par de métodos en el Contexto que normalmente no funcionan en un Servicio (como getTheme()), por lo que tendría que solucionarlo con un ContextWrapper. También deberá llamar manualmente WebView.layout
para engañar a WebView para que piense que tiene un tamaño. Puede que haya más cosas que necesites hacer, pero no se me ocurre nada más.
¿Lo dices en serio?
runOnUiThread(new Runnable()
public void run()
... something
);