【问题标题】:Is my webView taking too much memory?我的 webView 是否占用了太多内存?
【发布时间】:2014-12-10 06:54:23
【问题描述】:

我有一个简单的例子,其中有一个webView,它会在应用程序成功加载时加载一个链接,调试导航器看起来像:

之后,当我向下滚动到模拟器时,应用程序占用了 73.5 MB 的内存,内存不断增加,就像:

谁能解释一下为什么它占用了太多内存? 或者告诉我它是否会导致任何问题?

这是我的代码:

import UIKit

 class ViewController: UIViewController {

@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
   super.viewDidLoad()

    let url = "https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-XID_456"
    let requestURL = NSURL(string:url)
    let request = NSURLRequest(URL: requestURL!)
    webView.loadRequest(request)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

   }
}

【问题讨论】:

  • 你找到解决办法了吗
  • 你可以使用 WKWebView 代替 UIWebView 不会占用更多内存

标签: swift memory uiwebview


【解决方案1】:

你可以使用 WKWebView 代替 UIWebView ,它不会占用更多内存,这里是一个如何在 swift 3 中使用它的示例:

    import UIKit
    import WebKit

    class ViewController: UIViewController 

{

        var webView: WKWebView!

        override func viewDidload() {
        super.viewDidload()

        let url = "https://developer.apple.com/library/mac/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-XID_456"
        let requestURL = URL(string:url)
        let request =  URLRequest(url: requestURL!)
        webView = WKWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))
        self.view.addSubview(webView)
        webView.load(request)
}
}

【讨论】:

    猜你喜欢
    • 2013-07-18
    • 2014-09-20
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2015-10-14
    • 2013-07-11
    相关资源
    最近更新 更多