2010-12-18 46 views
12

在性能的名稱更好地使用webview對象的列表與自定義數組適配器定義或textview對象的列表再次與自定義適配器和html內容顯示在它中。首先我嘗試使用webview,但我認爲webview對象是類似重磅的UI元素,textview看起來更輕量級。哪一個在其中的HTML數據列表中使用WebView或TextView?

WebView entryWebView = (WebView) findViewById(R.id.entryWebView); 
       entryWebView.loadData("my hmtl formatted data", "text/html", "utf-8"); 

//假設這些自定義陣列適配器定義和充滿web視圖對象

​​

//而這一次又在定製陣列適配器並填充使用TextView對象

回答

10

WebView不因爲WebViewListView都知道如何滾動,所以作爲ListView的孩子工作得很好。因此,我會使用TextView。將您的HTML限制爲Html.fromHtml()支持的標籤。這裏是來自Android 2.1的list of supported tags,其他版本的Android可能類似。

關於性能,TextView確實是一個明顯更輕的小部件,並且在任何情況下性能都會更好。不過,您可能需要緩存Html.fromHtml()輸出,因此用戶不必爲給定行重新執行該操作就可以滾動。

+0

是的,webView也有滾動視圖使用ListView時可能會變得棘手,我決定使用TextView,你可以提供有關緩存html輸出的詳細信息嗎? – 2010-12-18 20:47:27

+1

@Burak Dede:我沒有計時Html.fromHtml(),但它可能並不快。您可能希望緩存該調用的結果,以防用戶向後滾動,以便重新使用結果。如果您在LRU模式下使用'LinkedHashMap',將'SoftReferences'保存到緩存數據中,可以確保您不會耗盡內存。 – CommonsWare 2010-12-18 21:17:21

+0

@CommonsWare:與Dede類似,由於TextView不支持gif動畫,因此使用嵌入的gif動畫顯示HTML數據的最佳解決方案是什麼? – M2X 2011-12-08 15:36:05

1

作爲一個性能比較,我嘗試了他們兩個,但WebView與巨大的數據是不可思議的慢,我的自定義適配器甚至無法完成繪圖,直到用戶響應接口另一方面textview作爲一個性能很不錯,我除非你需要在文本中做大量的HTML工作,否則建議使用textview。

相關問題