加载webView 内存泄露 导致内存暴涨的几种解决方案

加载webView导致内存泄露的原因是:Html中的js代码会引起内存泄露

解决这个问题的方法是在webViewDidFinishLoad方法中设置如下:

***************

    [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"WebKitCacheModelPreferenceKey"];
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitDiskImageCacheEnabled"];//自己添加的,原文没有提到。
    [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitOfflineWebApplicationCacheEnabled"];//自己添加的,原文没有提到。
    [[NSUserDefaults standardUserDefaults] synchronize];

***************

或者你可以使用wkwebView   

优点:   加载速度  比UIWebView提升差不多一倍的, 内存使用上面,反而还少了一半。 

缺点:   WKWebView 不支持缓存 和   NSURLProtocol 拦截了

我建议如果对缓存不高的页面可以使用,用户体验会提高很多。

你可能感兴趣的:(iOS)