我有一个应该显示文本文件的 Activity 。文本文件为 165 kB。本来,我读完文本文件后,会做这样的事情,
textView.setText(fileText);
但这在我的 Nexus 4 上花费了 10 多秒,我确认这是由于调用 setText()
而不是读取文件。然后,经过一番搜索后,我想到了使用 WebView.loadData()
将其放入 webview 中。这需要不到一秒钟的时间。
我很好奇为什么 WebView 加载文本的速度比 TextView 快得多。有人知道吗?
最佳答案
据我所知;
WebView 只会在任何给定时间呈现它需要显示的文本。这意味着当您第一次加载时,它只会加载 20 - 30 行文本。而当您调用 textView.setText(fileText);
时,它会导致 Android 呈现所有文本,即使它没有显示。如果您尝试向 TextView 添加大量文本,那么您应该在循环中使用 textView.append(fileLine);
,这应该会加载得更快一些。
关于android - 为什么 WebView 比 TextView 快这么多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20229164/