【问题标题】:How to display heavy data in webview in swift 4如何在 swift 4 中的 webview 中显示大量数据
【发布时间】:2019-06-03 17:54:54
【问题描述】:

在我的一个应用程序中,我必须在来自 Web 服务响应的 Web 视图中显示 html 内容。如果 html 数据较小,那么它将显示在 webview 中。但是当 html 内容很重的时候在 web 视图中显示时应用程序会杀死。

我做的一件事只是为了检查,我创建了一个包含大量数据并保存在项目中的 html 文件。我成功地在 webview 中显示了这个文件。那为什么 webview 不显示大量的 html 数据。

我使用这种方法将 html 字符串显示到 webview 中。

webView.loadHTMLString(htmlString , baseURL: nil)

【问题讨论】:

  • 如果您的应用崩溃,则在您的问题中包含错误/堆栈跟踪。
  • @JoakimDanielson 实际上应用程序被杀死而不是由于内存问题而崩溃。并且日志中没有提供堆栈。当我尝试在模拟器上运行应用程序时观察到的一件事,由于模拟器具有大内存,它可以正常工作。
  • 出于好奇,如果您在手机上的 Safari 中加载 html 文件会发生什么?
  • 你检查过开发者工具中的漏洞吗?

标签: html ios swift


【解决方案1】:

我遇到过这类问题。我在这个问题上搜索了很多。提出这个问题是因为内存。经过大量搜索和调试,我得到了这个问题的真正原因。

当 Html 内容太大时,当我们试图将这个 html 内容加载到 uiwebview 中并且还增加 uiwebview 高度 wrt 到 uiwebview 的内容大小时,就会出现内存问题。

第一个解决方案: 如果您有静态 html 内容,则可以将其存储在项目中的一个 .html 扩展文件中,并将此文件显示到 uiwebview 中。这样你就不会提出任何问题,并且 uiwebview 的高度也会增加 uiwebview 的内容大小。

第二种解决方案: 如果您的 uiwebview 高度急剧增加,那么在这种情况下,将 uiwebview 的高度设置为某个级别。哪个解决了你的问题。

【讨论】:

  • 谢谢@Rahul。这对我有用。我已经花了更多时间来解决这个问题,但无法追踪问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 2019-07-07
  • 2021-01-02
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
相关资源
最近更新 更多