2011-05-27 75 views
1

我在从网络加载内容的Activity中获得了WebView。当WebView开始加载时,我启动另一个活动来充当启动屏幕,当WebView完成加载时我隐藏起来。WebView,初始屏幕和性能

我发现当测试时,当我添加一个启动画面的时候,相同的网页加载的时间比我没有加载的时间要长。所以我假设有一个网络线程,当包含WebView的活动进入后台时,其优先级下降。如何控制该线程以保持WebView的速度?

我找到了WebSettings类的setRenderPriority方法,我不确定它做了什么,我不知道它讲的是什么“渲染线程”。我试过了:

getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); 

但是它对加载时间没有任何影响。

感谢任何能够帮助我的人。

+0

我不确定这是否有直接帮助,但将渲染优先级设置为高可能会对Droid X等某些设备产生不利后果。在制作Droid X和Droid 2后,我经历了持续强制关闭/等待报告这改变了我的代码。其他设备,如HTC EVO和三星Galaxy虽然工作得很好。所以,我建议你不要这样做。 – Abhijit 2011-11-09 00:46:03

回答

2

我不是直接回答你的问题,而是建议一个替代方案......开始另一项活动来简单地提供启动画面可能会相当昂贵。相反,您可能会考虑扩展包含WebView的布局,以将RelativeLayout放置在WebView的级别上,并使WebView成为该布局的子项。此外,您可以在相同的RelativeLayout中放置一个ImageView(或任何您需要的飞溅),并且可以在不希望显示时将其可见性设置为不可见。

+0

嗯,我主要使用一个新的活动来获得它附带的过渡动画,所以用户觉得他正在从一个屏幕切换到另一个,并不知道他只是浏览一个网站。我刚刚遇到了ViewFlipper类,我会研究它,并希望它不会降低Webview的加载速度。 (但即使解决了这个问题,我仍然对原始问题感兴趣,如何直接控制WebView的网络线程,以及senRenderPriority方法是什么。) – kira 2011-05-27 00:39:08