1. 程式人生 > >載入webView 記憶體洩露 導致記憶體暴漲的幾種解決方案

載入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 攔截了

我建議如果對快取不高的頁面可以使用,使用者體驗會提高很多。