真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

iOSUIWebView對H5緩存功能的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“iOS UIWebView對H5緩存功能的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“iOS UIWebView對H5緩存功能的示例分析”這篇文章吧。

我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、陸港ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的陸港網(wǎng)站制作公司
+ (instancetype)requestWithURL:(NSURL *)URL;

該方法的描述如下:

Creates and returns a URL request for a specified URL with default cache policy and timeout value.

The default cache policy is NSURLRequestUseProtocolCachePolicy and the default timeout interval is 60 seconds.

大概意思是使用的緩存策略是根據(jù)協(xié)議來的, 即 NSURLRequestUseProtocolCachePolicy. 超時時間默認(rèn)是60s.也就是說類似如下的請求:

NSURLRequest *urlReq = [NSURLRequest requestWithURL:url
                      cachePolicy:NSURLRequestUseProtocolCachePolicy
                      timeoutInterval:60.f];

如果協(xié)議支持緩存的話, UIWebview 請求到的數(shù)據(jù)就是緩存數(shù)據(jù).該緩存是需要 WEB 服務(wù)器支持的.看一下常用的方法

// 使用緩存數(shù)據(jù), 如果有緩存的話
// 使用這個方法, 改變 HTML 或者 JS 代碼
// 頁面不會拉取最新數(shù)據(jù), 還是使用之前請求到的數(shù)據(jù).
// 除非重新刷新
NSURLRequest *urlReq = [NSURLRequest requestWithURL:url
                      cachePolicy:NSURLRequestReturnCacheDataDontLoad
                    timeoutInterval:10.f];
 
// 使用協(xié)議緩存, 需要 web 服務(wù)器支持.
NSURLRequest *urlReq = [NSURLRequest requestWithURL:url
                      cachePolicy:NSURLRequestUseProtocolCachePolicy
                    timeoutInterval:60.f];
 
// 不使用緩存, 加載數(shù)據(jù)
NSURLRequest *urlReq = [NSURLRequest requestWithURL:url
                      cachePolicy:NSURLRequestReloadIgnoringCacheData
                    timeoutInterval:20.0];

下面是清除緩存的方法

[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];

上面清除緩存的時候我們也看到了UIWebview緩存主要是利用NSURLCache來實(shí)現(xiàn)內(nèi)存緩存或者本地緩存。內(nèi)存緩存的大值是4M(410241024),本地緩存是20M。

NSURLCache *cache = [[NSURLCache alloc] initWithMemoryCapacity:4*1024 * 1024 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:cache];

其中[NSURLCache setSharedURLCache:cache]是針對當(dāng)前進(jìn)程中的所有clients做的共享緩存。由于iOS中當(dāng)前進(jìn)程中只有一個app, 所以只要是當(dāng)前app中UIWebview加載的H5頁面,都是共享這個緩存空間的。

在加入上述功能之后,利用charles抓包,發(fā)現(xiàn)第一次加載H5頁面時候,很多的css文件,在二次打開該頁面的時候,charles沒有抓到,這個也證明了,在將css等資源文件緩存之后,再次打開H5頁面之后,UIWebview直接從NSURLCache中獲取緩存的css等資源,不會再次發(fā)起請求。另外也可以在加載H5后,打印cache.currentMemoryUsage來查看對應(yīng)的內(nèi)存消耗情況,如果數(shù)字大于0,就說明緩存中已經(jīng)存儲H5內(nèi)容了。

以上是在內(nèi)存中緩存H5頁面,這個策略有個問題,如果用戶將進(jìn)程殺掉,再次打開H5的時候,需要重新緩存。還有另外一種緩存策略,在本地緩存H5內(nèi)容,主要是利用在NSURLCache子類中重寫下面方法。

- (NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request

以上是“iOS UIWebView對H5緩存功能的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁題目:iOSUIWebView對H5緩存功能的示例分析-創(chuàng)新互聯(lián)
地址分享:http://weahome.cn/article/didgih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部