2013-11-26 16 views
5

Ho un'attività che dovrebbe visualizzare un file di testo. Il file di testo è 165 kB. In origine, dopo aver letto nel file di testo, vorrei fare qualcosa di simile,Perché WebView è molto più veloce di un TextView

textView.setText(fileText); 

Ma che ha avuto più di 10 secondi sul mio Nexus 4, e mi ha confermato che ciò era dovuto alla chiamata alla setText() e non la lettura il file. Poi, dopo aver cercato un po ', ho avuto l'idea di metterlo in una webview, usando WebView.loadData(). Questo richiede meno di un secondo.

Sono curioso di sapere perché una WebView è in grado di caricare il testo molto più velocemente di una TextView. Qualcuno sa?

+0

È un grande file di testo? – hichris123

+1

@ hichris123, OP detto 165 KB –

+0

@CoreyOgburn Non si sa cosa significhi in termini di testo, come le parole. – hichris123

risposta

2

Da quello che ricordo;

La WebView esegue solo il rendering del testo che deve essere visualizzato in un dato momento. Significa che quando lo carichi per la prima volta caricherò solo 20 - 30 righe di testo. Mentre quando chiami il numero textView.setText(fileText); fa sì che Android esegua il rendering di tutto il testo anche se non è visualizzato. Se stai cercando di aggiungere molto testo a un TextView, dovresti usare textView.append(fileLine); in un ciclo che dovrebbe caricarsi un po 'più velocemente.

Problemi correlati