在Android Webview中预加载Javascript

时间:2012-12-14 12:58:19

标签: javascript android android-listview android-webview

我正在使用自定义列表视图,其中包含一些组件,如图像视图,文本视图和Web视图。我正在使用列表视图,因为数据不是固定的,并且在每次单击项目后都会更改。因此,由于动态数据,我使用列表视图,我正在使用BaseAdapter。

在WebView中,我正在显示一些数学表达式。为此,我需要本地Javascript:一切正常,但在WebView中加载Javascript大约需要4到5秒。之后,它开始渲染,因此显示输出的总时间为5到6秒。

我想减少这个时间。有什么方法可以在WebView中预加载Javascript吗?

GetView()方法每次创建WebView和其他组件的新实例,因此每次加载Javascript时都会这样。

有没有办法可以使用预加载的Javascript Webview?

2 个答案:

答案 0 :(得分:0)

我认为你应该通过库JAVA / Android来避免使用webview,从而提高性能。 这是一个解决数学表达式问题的主题:MathML and Java

答案 1 :(得分:0)

没有初始延迟的解决方案,但滚动列表视图后加载页面的后续延迟可以通过缓存由js动态创建的html页面来避免。

您可以将每个结果(html结果页面)与唯一ID(基于要呈现的结果生成)关联,并在hashmap或lru缓存中缓存动态创建的html页面(在onPageFinished回调后可以访问完全创建的页面)这个id。当列表向上或向下滚动时,不是再次通过js动态创建页面,而是可以获取已创建的缓存html页面(现在是静态页面)并只加载静态页面。这减少了加载页面的延迟以及节省电池