UIWebView攔截圖片請求,SDWebImage下載快取到本地,然後從本地讀取到UIWebView中

weixin_34253539發表於2016-08-08

隨著UIWebView的使用日益增多,webView中圖片的快取機制也變得異常重要,比如你在app中使用WebView展示網頁,短租類展示房源詳情等有大量的大圖片,這時候如果每次進入同一房源都需要重複下載圖片的話不僅浪費資源,而且影響了載入速度,極大的影響了使用者體驗。
下面的DEMO是我寫的一個快取圖片的DEMO,其原理是:
1,用NSURLProtocol攔截.png和.jpg的網路請求,讓UIWebView本身的圖片下載發不出去。
2,攔截的連結通過SDWebImage下載資源到本地目錄。
3,用WebView的loadHTMLString:baseURL:方法來實現讀取本地目錄的圖片顯示。
4,當下載圖片超過2秒,並且requestCount為0時傳送通知給webView重新整理顯示本地資源。
DEMO下載連結:http://pan.baidu.com/s/1slpIC49

相關文章