2011-05-27 60 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