【问题标题】:Why is WebView so much faster than a TextView为什么 WebView 比 TextView 快这么多
【发布时间】:2013-11-26 22:18:24
【问题描述】:

我有一个应该显示文本文件的活动。文本文件为 165 kB。原来,在我读入文本文件后,我会做这样的事情,

textView.setText(fileText);

但这在我的 Nexus 4 上花费了 10 多秒,我确认这是由于调用 setText() 而没有读取文件。然后,经过一番搜索,我想到了将其放入 web 视图中,使用 WebView.loadData()。这需要不到一秒钟的时间。

我很好奇为什么 WebView 能够比 TextView 更快地加载文本。有人知道吗?

【问题讨论】:

  • 是大文本文件吗?
  • @hichris123,OP 说 165 KB
  • @CoreyOgburn 不确定这在文本方面意味着什么,比如单词。
  • 这意味着(我假设是 utf-8)有 165K 个字母。还有什么?
  • 你是如何测量的? WebView 可能会在后台进行一些布局,以便最初真正布局文本的开头。

标签: android performance webview textview


【解决方案1】:

据我所知;

WebView 只会呈现它在任何给定时间需要显示的文本。这意味着当您第一次加载时,它只会加载 20 - 30 行文本。而当您调用 textView.setText(fileText); 时,它会导致 Android 呈现所有文本,即使它没有显示。如果您尝试向 TextView 添加大量文本,则应在循环中使用 textView.append(fileLine);,这样加载速度会更快。

【讨论】:

    猜你喜欢
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 2014-04-11
    • 1970-01-01
    • 2018-09-25
    • 2014-01-11
    相关资源
    最近更新 更多