android - 为什么 WebView 比 TextView 快这么多

标签 android performance webview textview

我有一个应该显示文本文件的 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/

相关文章:

c# - 多个 Controller 与单个 Controller 的 WEBAPI2 性能

flutter - 如何使用官方 webview_flutter 插件在 flutter 中预加载 webview?

c# - Mono for Android,读取和写入 XLSX

android - android中EditText的多行文本对齐

python - 我如何优化这个 Asyncio 代码片段以在突发期间每秒发出更多请求?

java - 我的设备中的 Pdf 文件无法在 WebView 中加载

javascript - 无法捕获 Android Tv webview 应用程序上的键码(HTML+Javascript)

java - Android:应用程序在模拟器上运行,但在我的手机上崩溃

android - 导航架构组件 - 无法从 onResume 导航到 fragment

android - 获取android联系人详细信息非常慢