2010-12-18 6 views
12

定義されたカスタム配列アダプターでwebviewオブジェクトのリストを使用する方が良いパフォーマンスの名前で、カスタムアダプターとhtmlコンテンツで再びtextviewオブジェクトのリストが表示されます。最初にwebviewを使用しようとしますが、webviewオブジェクトは重いUIの要素の種類、テキストビューはより軽量のようです。WebViewまたはTextViewをHTMLデータを含むリストで使用するのはどちらですか?

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

//カスタムアレイアダプタで定義され、WebViewので満たされ、これらは

​​

//カスタムアレイアダプタで再びこの1オブジェクトとのTextViewで満たさ

答えて

10

WebViewにはないオブジェクトとしListViewの子としてうまくいきます。WebViewListViewの両方がスクロールする方法を知っているからです。したがって、TextViewを使用します。 HTMLをHtml.fromHtml()がサポートするタグに限定します。ここではAndroid 2.1のlist of supported tagsがありますが、Androidの他のバージョンはおそらく似ています。

パフォーマンスに関しては、TextViewは確かに非常に軽いウィジェットであり、どんな場合でも優れたパフォーマンスを発揮します。あなたはHtml.fromHtml()出力をキャッシュすることができます。そのため、ユーザーがスクロールしたときに特定の行に戻す必要はありません。

+0

ええwebViewでもListViewを使用するときにスクロールが煩雑になることがあり、TextViewを使用することにしました.HTML出力のキャッシュについての詳細は教えてください。 –

+1

@Burak Dede:私はHtml.fromHtml()をタイムアウトしていませんが、速くないかもしれません。ユーザーがスクロールバックした場合に備えて、その呼び出しの結果をキャッシュして、結果を再利用することができます。 LRUモードで 'LinkedHashMap'を使用して、' SoftReferences'をキャッシュされたデータに保持すれば、メモリ不足を確実に防ぐことができます。 – CommonsWare

+0

@CommonsWare:Dedeと同様の状況で、TextViewはgifアニメーションをサポートしていないので、埋め込まれたgifアニメーションでHTMLデータを表示する最適なソリューションは何ですか? – M2X

1

私は両方を試しましたが、巨大なデータを持つWebViewは非常に遅いです、私のカスタムアダプターは、ユーザーがインターフェイスに応答するまで描画を完了できませんでした。テキスト内でたくさんのhtml作業を行う必要がない限り、textviewを使用することをお勧めします。

関連する問題