【问题标题】:loading long webview over 500kb加载超过 500kb 的长 webview
【发布时间】:2011-12-12 14:32:39
【问题描述】:

我有一个 webview 和一个显示页面的超过 500kb 的字符串。有谁知道减少 webview 的加载时间?我加载的方式是同步的,如果我异步加载它会更好。非常感谢任何帮助。

【问题讨论】:

  • 你想增加加载时间?
  • 我假设你的字符串是 html 标记
  • 对不起,我的意思是减少加载时间。
  • @whatsthebeef 是的,它在 html 标记处

标签: android webview load


【解决方案1】:

如果您想增加网页视图的加载时间,而其他视图正常加载,您应该

  1. 创建一个 asynctask 并将其传递给 Web 视图对象
  2. 在其中设置一个Thread.sleep(<time you want to wait>),设置您希望等待多长时间,然后执行loadData(<data>)
  3. 当您加载视图时,在异步任务上调用 execute,它将执行睡眠,然后在填充其他视图时在后台加载。

这真的是你想做的吗?

更新

您无法通过异步加载 Web 视图来减少加载时间,但您可以阻止它在加载时阻止其他视图加载。

如果页面在没有 web 视图的情况下有意义(看起来并不混乱),那么您可以将其加载到单独的线程 (AsyncTask 或创建一个可运行的类并调用 runOnUiThread()) 任务并更新该视图当它准备好时。一种选择是从线程加载并使线程优先级低,因此它很可能会等待视图呈现,然后开始繁重的 html 处理。

您还可以考虑将 html 拆分为单独的视图,将动态内容嵌入到标准 android 视图中或启动浏览器活动并在那里显示它

【讨论】:

  • 对不起,我的意思是减少加载时间。我打错字了。
  • 非常感谢您的快速回答。
  • 我现在正在尝试在 5 个不同的 webview 上进行同步线程,每个 webview 的优先级从 1 到 5th webview。当然,我必须连接它们,但这样它应该显示第一个 webview,一旦完成,它就会转到下一个 webview,依此类推。现在我被困在试图找出一个事件处理程序来将 webviews 组合在一起,我想在 webview 结束时滚动。我似乎无法在 android 开发者网站上找到此类事件的覆盖功能。还在寻找。
  • @Akyl lite,我不完全理解,但如果您提供更多详细信息,我很乐意提供帮助,您能否创建一个包含更多信息的新问题,我会尝试回答跨度>
  • 给你我在stackoverflow.com/questions/8493141/…添加了一个新问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多