Android 为什么WebView比TextView快得多
我有一个活动应该显示一个文本文件。文本文件为165 kB。原来我读了这个文本文件之后,我会这样做Android 为什么WebView比TextView快得多,android,performance,webview,textview,Android,Performance,Webview,Textview,我有一个活动应该显示一个文本文件。文本文件为165 kB。原来我读了这个文本文件之后,我会这样做 textView.setText(fileText); 但是在我的Nexus4上,这花费了超过10秒的时间,我确认这是由于调用了setText()而没有读取文件造成的。然后,在搜索了一段时间后,我想到了使用webview.loadData()将它放在一个webview中。这不到一秒钟 我很好奇为什么WebView能够比TextView更快地加载文本。有人知道吗?根据我的记忆 WebView只呈现在
textView.setText(fileText);
但是在我的Nexus4上,这花费了超过10秒的时间,我确认这是由于调用了setText()
而没有读取文件造成的。然后,在搜索了一段时间后,我想到了使用webview.loadData()
将它放在一个webview中。这不到一秒钟
我很好奇为什么WebView能够比TextView更快地加载文本。有人知道吗?根据我的记忆
WebView只呈现在任何给定时间需要显示的文本。这意味着当你第一次加载时,它只会加载20-30行文本。而当您调用
textView.setText(fileText)时代码>它使Android渲染所有文本,即使文本未显示。如果您试图向TextView添加大量文本,则应使用TextView.append(fileLine)代码>在一个循环中,加载速度应该会快一点。这是一个大的文本文件吗?@hichris123,OP said 165KB@CoreyOgburn我不确定这对文字(比如单词)意味着什么。这意味着(我假设utf-8)有165K个字母。还有什么?你是怎么测量的?WebView可能会在背景中进行一些布局,以便最初只显示文本的开头。