在iOS開發時,使用UIWebView 來加載顯示一個網頁是比較常見的情況. 用過UIWebView 的人可能知道當應用使用多個UIWebView 來加載網頁時,內存使用增加特別厲害.最近剛好遇到這個問題. 應用普通內存只使用 20~30M的樣子, 當一直打開UIWebView 的時候(我webView加載的是視頻網頁) 最高內存使用達到了 220M. 這個內存使用已經太多了.
本文主要有3 部分內容:
WKWebView的基本使用方法
針對iOS8以前的設備同時使用 WKWebView 和 UIWebView
NSURLConnection 緩存設置及清除
(3)一些基本的Delegate, 主要用於開始加載,加載完成,加載錯誤等, 按需要使用. (記得實現 WKNavigationDelegate )
使用時請替換裡面的具體方法
(如需同時兼容iOS8 和 iOS8 之前設備請看以下)以上代碼僅在iOS8以後有效所以,在iOS8之前還是使用UIWebView吧,用於過渡. 附帶說下區分iOS8 和 iOS8 之前分別使用 UIWebView和WKWebView.:
判斷當前設備系統版本:
(2)在所有使用到UIWebView的情況下進行判斷(我自己是定義了兩個成員變量,在iOS8之前使用webView, iOS8之後使用wkWebView),如
(3)實現兩個 delegate
(4)自己實現需要的 代理方法,可以參考以下常見的一些方法
其它一些基本消除NSURLConnection 的緩存方法:(選用)
設置緩存大小, AppDelegate 的 didFinishLaunchingWithOptions 方法裡
閱讀更多 心在遠方ios 的文章