【发布时间】:2015-12-17 18:00:53
【问题描述】:
class MyViewController: UIViewController {
@IBOutlet weak var webView: UIWebView?
override func viewDidLoad() {
super.viewDidLoad()
let url = NSURL(string: urlString)
let request = NSURLRequest(URL: url!)
SVProgressHUD.show()
webView?.loadRequest(request)
webView?.scrollView.header = MJRefreshNormalHeader(refreshingBlock: {
[weak self] in
if let strongSelf = self {
strongSelf.webView?.reload()
}}) }
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
SVProgressHUD.dismiss() } }
extension MyViewController: UIWebViewDelegate {
func webViewDidFinishLoad(webView: UIWebView) {
webView.scrollView.header.endRefreshing()
SVProgressHUD.dismiss() } func webView(webView: UIWebView, didFailLoadWithError error: NSError?) {
webView.scrollView.header.endRefreshing()
SVProgressHUD.dismiss() } }
视图控制器是由导航控制器推送的,当我弹出它时,我得到了泄漏。在 instrument.Leak 我看到了这些。
#
Leaked Object # Address Size Responsible Library Responsible Frame NSMutableArray 1 0x137a6ddb0 48 Bytes UIKit -[_UIKeyboardTextSelectionGestureController init]
_UIKeyboardTextSelectionController 1 0x137a6e800 96 Bytes UIKit -[UIWebSelectionAssistant addNonEditableForceTextSelectionGestureRecognizersToView:]
_UIKeyboardBasedNonEditableTextSelectionGestureController 1 0x137a6dcd0 160 Bytes UIKit -[UIWebSelectionAssistant addNonEditableForceTextSelectionGestureRecognizersToView:]
#
我确定webView,myViewController被延迟了,但是当myViewController弹出时,4M增加了,没有释放。请帮忙,谢谢。
列表项
【问题讨论】:
-
我试图格式化你的代码但是太费力了,请自己做
-
有什么更新吗?我认为这个问题只发生在 iOS9 中,而不发生在 iOS8 中。
-
我第三期这个问题。我最近嵌入了一个 UIWebView,它开始报告相同占用空间的内存泄漏。
-
我在使用 Xcode 7、iOS9 的应用程序中也遇到了同样的泄漏,我曾经在哪里使用 UIWebView。这是特定于 UIWebView 的吗?也许是一个 Apple Bug。不知道如何处理。
-
也遇到了同样的问题。有没有人碰巧解决了?