載入webView 記憶體洩露 導致記憶體暴漲的幾種解決方案
阿新 • • 發佈:2019-01-22
載入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 攔截了
我建議如果對快取不高的頁面可以使用,使用者體驗會提高很多。