成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

IOS開發(fā)中第三方庫(kù)Three20 Network緩存機(jī)制

移動(dòng)開發(fā) iOS
IOS開發(fā)中第三方庫(kù)Three20 Network緩存機(jī)制是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)Three20 Network緩存機(jī)制,具體內(nèi)容來(lái)看本文詳細(xì)內(nèi)容講解。

IOS開發(fā)中第三方庫(kù)Three20 Network緩存機(jī)制是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)Three20 Network緩存機(jī)制,具體內(nèi)容來(lái)看本文詳細(xì)內(nèi)容講解。

前置知識(shí):

http協(xié)議自帶的Last-Modified和ETag,詳細(xì)的網(wǎng)上搜索下就行了。簡(jiǎn)單來(lái)說(shuō)就是,服務(wù)器在返回資源時(shí)包含一個(gè)ID(時(shí)間或是某種token),客戶端緩存該ID,下一次再請(qǐng)求同一資源時(shí),包含這個(gè)ID,服務(wù)器根據(jù)此ID來(lái)判斷資源是否改變,從而返回不同的結(jié)果(200或是304)。

Three20實(shí)現(xiàn)的默認(rèn)緩存方案是:

  1. TTURLRequestCachePolicyDefault 
  2. = (TTURLRequestCachePolicyMemory | TTURLRequestCachePolicyDisk  
  3. | TTURLRequestCachePolicyNetwork),  
  4. TTURLRequestCachePolicyNetwork 代表使用 Last-Modified 策略,  
  5. TTURLRequestCachePolicyMemory | TTURLRequestCachePolicyDisk 代表使用內(nèi)存和文件緩存資源和資源ID, 

改變緩存方案:

  1. TTURLRequest request;  
  2. //blah,blah  
  3. request.cachePolicy = cachePolicy | TTURLRequestCachePolicyEtag; 

這里增加了Etag的功能,如果服務(wù)器支持的話,毫無(wú)疑問(wèn)這是***的方案。其他類推,比如不需要緩存。

如何使用緩存:

這里拉一段TTImageView的代碼,一看就知道:

  1. - (void)reload {  
  2. if (nil == _request && nil != _urlPath) {  
  3. UIImage* image = [[TTURLCache sharedCache] imageForURL:_urlPath];  
  4. if (nil != image) {  
  5. self.image = image;  
  6. } else {  
  7.  
  8. TTURLRequest* request = [TTURLRequest requestWithURL:_urlPath delegate:self];  
  9. request.response = [[[TTURLImageResponse alloc] init] autorelease];  
  10. if (![request send]) {  
  11. // Put the default image in place while waiting for the request to load  
  12. if (_defaultImage && nil == self.image) {  
  13.   self.image = _defaultImage;  
  14. }  
  15. }  
  16. }  
  17. }  

使用TTURLCache的單例,可以獲取任意URL資源的本地緩存。這里的邏輯是這樣的:

首先判斷內(nèi)存中是否存在這種圖片:

  1. UIImage* image = [[TTURLCache sharedCache] imageForURL:_urlPath] 

如果不存在,發(fā)起一個(gè)request,使用默認(rèn)的policy,獲取該圖片。假設(shè)該圖片上次打開程序時(shí)已經(jīng)下載過(guò),已經(jīng)緩存在disk(這是默認(rèn)的),并且圖片在服務(wù)器上沒(méi)有變更,且服務(wù)器支持if-modified, request默認(rèn)就會(huì)返回disk上的圖片。

詳細(xì)的可以看TTURLCache,如果手動(dòng)send 一個(gè)request,則默認(rèn)的policy就可以很好的實(shí)現(xiàn)了緩存機(jī)制。一些內(nèi)置的控件,比如TTTableView, 如果包含圖片,也實(shí)現(xiàn)的很理想。

小結(jié):IOS開發(fā)中第三方庫(kù)Three20 Network緩存機(jī)制的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 博客園
相關(guān)推薦

2011-08-19 09:49:03

iPhone開發(fā)Three20 NetTTRequestLo

2014-07-23 08:55:42

iOSFMDB

2019-07-30 11:35:54

AndroidRetrofit庫(kù)

2011-08-16 18:56:11

iPhone開發(fā)Three20

2013-08-14 09:50:32

iOS類庫(kù)

2015-11-05 16:44:37

第三方登陸android源碼

2011-07-25 14:14:49

iPhone SQLITE Pldatabase

2011-08-19 10:35:19

iPhone應(yīng)用Three20

2013-01-15 13:50:22

iOS開發(fā)開源庫(kù)

2015-07-13 13:34:13

ios第三方庫(kù)xcode插件

2014-07-22 10:56:45

Android Stu第三方類庫(kù)

2010-11-08 09:51:34

jQueryJavaScript

2015-07-13 09:48:21

iOS

2021-08-08 11:29:04

Android第三方ROM調(diào)查

2021-03-24 09:30:49

鴻蒙HarmonyOS應(yīng)用

2022-01-14 09:57:14

鴻蒙HarmonyOS應(yīng)用

2010-03-03 15:10:49

第三方Python庫(kù)

2011-10-08 14:37:59

漏洞

2019-09-03 18:31:19

第三方支付電商支付行業(yè)

2021-10-11 06:38:52

Go開源庫(kù)語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲综合在线视频 | 久久精品国产亚洲 | 国产99久久精品一区二区永久免费 | 一区二区三区精品视频 | 欧美成人自拍视频 | 性视频网 | 日韩伦理一区二区 | 又爽又黄axxx片免费观看 | 欧美日韩精品区 | 亚洲免费人成在线视频观看 | 国产欧美一区二区精品久导航 | 国产亚韩| 亚洲午夜视频在线观看 | 国产高清精品一区 | 免费成人高清在线视频 | 国产日韩av一区二区 | 一区二区视频在线 | 中文字幕亚洲区一区二 | 成人免费观看男女羞羞视频 | 亚洲1区| 国产精品一区二区久久 | 伊人网综合在线观看 | 精品国产一区二区国模嫣然 | 亚洲精品免费在线观看 | 日本一区二区不卡 | 久久久人成影片一区二区三区 | 色精品| 欧美黄a| 午夜精品福利视频 | 国产精品久久久久久久7电影 | 91麻豆精品国产91久久久久久 | 精品熟人一区二区三区四区 | 黑人巨大精品欧美一区二区免费 | 国产综合久久久久久鬼色 | 国产福利91精品一区二区三区 | 成人日b视频 | 国产亚洲精品久久久久久豆腐 | 亚洲精品久久久久avwww潮水 | 久久久久免费精品国产小说色大师 | 成人综合在线视频 | 久久av一区二区 |