2

我有许多(5-10)个同时显示的 WebView(例如,作为类似于库存画廊的“轮播”)。远程网站被加载到这些 WebViews(不是本地 html 文件)中。这些网站非常复杂——它们有很多 javascript、图像,可能还有一些 flash ......

当应用程序启动时,所有 WebView 开始加载/布局其内容并运行 javascript - 所有这些都需要相当长的时间。另一方面,当 WebView 加载时,应用程序的响应速度非常快——滚动和其他 UI 内容非常流畅——CPU 绝对没有压力。

  1. 那么是否有可能使这些视图并行加载?我认为我的应用程序将从并行加载 WebViews 中受益匪浅。
  2. 另外,也许有一种方法可以通过重用 WebView 源代码来手动执行 javascript、加载和布局?
4

1 回答 1

0

回答我自己的问题:

  1. 是不可能的 - 所有 web 视图(以及因此布局)上的 javascript 都是在同一个共享线程上完成的。
  2. 也不起作用 - 它使用大量非公共 API。

相反,我使用 WebChromeClient#shouldInterceptRequest 来缓存尽可能多的资源,这大大缩短了加载时间。

于 2012-05-16T08:00:06.883 回答