2010-04-25 220 views
0

我有一個選項卡式界面(每個選項卡一個活動),其中一個選項卡將成爲顯示網頁的瀏覽器視圖。應用程序加載到不同的活動/視圖中,但是我希望它在應用程序啓動後立即開始下載網頁,之後用戶點擊該選項卡並啓動該活動。在後臺加載瀏覽器頁面

我該怎麼做?

謝謝!

-S

回答

0

我想我現在已經很好地理解了這一點,儘管我還沒有完成實現的細節。

的基本過程包括:

  • 以我初始化活動,調用的AsyncTask運行在從主UI線程一個單獨的線程HTTP請求(以確保用戶界面的響應)。
  • 將HTTP請求的結果存儲在一個簡單的String對象中,該對象是我的Application對象(技術上是Application的一個子類)的成員,以提供對數據的應用程序範圍訪問。
  • 顯示先前下載的字符串數據中一個web視圖對象,使用任一WebView.loadData()WebView.loadDataWithBaseUrl()
+0

如果用戶轉到一個非常大的頁面,並且您使用的是字符串,則會導致內存不足。 – stealthcopter 2010-04-26 06:22:25

+0

有趣。對字符串的大小是否有內置的限制? – stormin986 2010-04-26 22:00:58

+0

除非在字符串大小方面有一些內置的限制,下面是我的想法:假定字符串的長度被指定爲int,那麼int可以計數的最大字節數是268,435,456。因此,最大字符串長度是很多字符長度。很難相信你將會遇到來自Web服務器的數據,甚至可以接近這個規模的一小部分。 – stormin986 2010-04-27 07:36:36

0

爲什麼不把頁面下載到一個文件,然後讓它儘快它是完成下載顯示的文件?

+0

是否有一個更簡單的方法?也許以某種方式在後臺實例化瀏覽器視圖以使其開始加載內容? – stormin986 2010-04-26 01:13:25

+0

與其將活動加載到選項卡中,爲什麼不加載視圖,那麼您可以在顯示之前將網頁加載到視圖中? – stealthcopter 2010-04-26 06:25:42

+0

這需要一個全有或全無的方法,即,我必須讓所有標籤都是視圖嗎?我的前兩個選項卡是非常不同的活動,所以它似乎將模型整合到一個活動中。 另外,假設我的webview是我默認活動的視圖;即使我切換到另一個活動,webview中從URL加載的數據是否會保持加載狀態,並最終返回? – stormin986 2010-04-26 22:03:51

相關問題