日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AFNetworking和ASIHTTPRequest的比较

發布時間:2025/7/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AFNetworking和ASIHTTPRequest的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ASI和AFN以及底層框架的關系?

對比
ASIAFN
更新狀態2012年10月份,已經停止更新持續更新中,目前已更新至2.0版
介紹 ASI的直接操作對象ASIHTTPRequest,是一個實現了了NSCopying協議的NSOperation子類。 在initialize和initWithURL:方法中初始化相關屬性并配置一系列請求相關參數默認值。此外,ASIHTTPRequest還提供了一系列的實例方法用來配置請求對象。 AFN的直接操作對象AFHTTPClient,是一個實現了NSCoding和NSCopying協議的NSObject子類。AFHTTPClient是一個封裝了一系列操作方法的“工具類”,處理請求的操作類是一系列單獨的,基于NSOperation封裝的,AFURLConnectionOperation的子類。
線程處理模式 每一個請求都由構造方法初始化一個(共享)實例,通過這個實例配置參數并發起請求。ASI最初使用delegate模式回調,在iOS SDK支持Block之后也提供了注冊Block的實例方法。 ASI采取的是CFHTTP請求完成,直接回調ASIHTTPRequest的實例方法,通過儲存的實例對象記錄的信息完成Delegate模式或Block模式的回調。
在異步請求的處理上,ASIHTTPRequest對象初始化結束后,在startAsynchronous方法中把對象加入共享操作隊列。此后,包括創建CFHTTPMessageRef,也就是處理網絡請求的主要對象(事實上是一個指向__CFHTTPMessage結構的指針),在內的所有操作都在ASIHTTPRequest對象所屬的子線程中完成。
AFN的示例代碼中通過一個靜態方法,使用dispatch_once()的方式創建AFHTTPClient的共享實例,這也是官方建議的使用方法。在創建AFHTTPClient的初始化方法中,創建了OperationQueue并設置一系列參數默認值。在getPath:parameters:success:failure方法中創建NSURLRequest,以NSURLRequest對象實例作為參數,創建一個NSOperation,并加入在初始化發方中創建的NSOperationQueue。 以上操作都是在主線程中完成的。在NSOperation的start方法中,以此前創建的NSURLRequest對象為參數創建NSURLConnection并開啟連結。
數據處理模式ASI在這方面顯得更原始,沒有針對任何數據類型做特別封裝,只是預留了各種接口和工具供開發者自行擴展。AFN針對JSON、XML、PList和Image四種數據結構封裝了各自處理器,開發者可以把處理器注冊到操作隊列中,直接在回調方法中獲得格式化以后的數據。
同步請求 ASI則是直接通過調用一個startSynchronous方法。
AFN默認沒有封裝同步請求,如果開發者需要使用同步請求,則需要重寫getPath:parameters:success:failure方法,對AFHTTPRequestOperation進行同步處理
異步回調的處理【使用AFNetworking進行網絡異步請求時,block:(void(^)代碼塊實際返回到UI主線程中。即使在子線程中使用AFNetWorking進行網絡的異步請求,block:(void(^)代碼塊仍然返回到UI主線程中(AF框架,它里面已經create了異步線程?)。因此無論當前處在主線程還是子線程,異步返回均返回到UI主線程中。】 為一系列相關的請求定義一個HTTPClient,共用一個BaseURL。每次請求把URL中除BaseURL的Path部分做為參數傳給HTTPClient的靜態方法,并注冊一個Block用于回調。 AFN則直接使用了NSOperation的completionBlock屬性。
基于的底層開發框架
CFNetwork框架 使用CFnetwork而不是Cocoa框架NSURL有幾點好處。CFNetwork更加專注于網絡協議,而NSURL更加專注于數據訪問,比如通過HTTP或者FTP傳輸數據。盡管NSURL的確也提供了一些可配置功能,可是CFNetwork提供的要多的多。另外NSURL還需要你使用Objective_c。如果做不到這點的話,還是應該使用CFNetwork NSURL 【使用iOS5.0 SDK NSURLConnection: 1、進行網絡同步請求(sendSynchronousRequest)時,調用該請求接口的操作在哪個線程,同步返回的網絡結果就處于哪個線程,因此通常進行網絡同步請求時,為了避免阻塞UI主線程,需要在子線程中進行網絡請求; 2、進行網絡異步請求(sendAsynchronousRequest)時,block:(void(^)代碼塊實際返回到子線程中。因此,此時如需要向UI線程發送通知,則需要跳轉到主線程中發送通知dispatch_async(dispatch_get_main_queue(), ^{});】
底層開發礦建介紹 CFNetwork是基于Core Foundation中CFStream的一個底層高性能網絡框架,它由提供基礎服務的CFSocketStream,支持HTTP協議的CFHTTP,基于CFHTTP用于身份認證的CFHTTPAuthentication和支持FTP協議的CFFTP組成。 Core Foundation框架中的CFSocket就是基于BSD Socket開發的。它幾乎涵蓋了BSD Socket的全部功能,更重要的是把Socket整合到事件的處理循環中。Core Founda-tion中較高層的CFStream是基于CFSocket開發的讀寫流支持。 如圖所示,ASI是基于CFHTTP開發的一個組件;而AFN的基礎——NSURL,也是基于CFNetwork開發的,也就是說ASI相比AFN更加底層。
性能對比AFN請求優于ASI
總結ASI更適合已經發展了一段時間的應用,或者開發資源相對豐富的團隊,因為往往這些團隊(或他們的應用)已經積累了一定的經驗,無論是產品上還是技術上的。需求復雜度就是在這種時候高起來,而且底層訂制的需求也越來越多,此時AFN就很難滿足需求,需要犧牲一定的易用性,使用ASI作為網絡底層控件。AFN適合邏輯簡單的應用,或者更適合開發資源尚不豐富的團隊,因為AFN的易用性要比ASI好很多,而這樣的應用(或團隊)對底層網絡控件的定制化要求也非常低。
以上分析與對比是根據本人查資料以及測試所得,若有不正確的地方還請大家指出,謝謝!
另附:iOS開發:AFNetworking、MKNetworkKit和ASIHTTPRequest比較【下圖為查找的資料,尚未驗證

?原文地址:http://blog.sina.com.cn/s/blog_a0f3ea980101c0yo.html

轉載于:https://www.cnblogs.com/chengfang/p/4158041.html

總結

以上是生活随笔為你收集整理的AFNetworking和ASIHTTPRequest的比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91情侣在线 | 色热热| 国产又粗又大又硬 | 兔费看少妇性l交大片免费 日韩高清不卡 | 国产精品国产三级国产普通话对白 | 农村妇女精品一区二区 | 最新黄色av网址 | 天堂在线一区二区 | 亚洲综合一区二区 | 天堂精品视频 | 污视频软件在线观看 | 欧美自偷自拍 | 久久久久久久久久久久久久久久久久久 | 亚洲国产成人一区二区精品区 | 天天操天天干天天 | 亚洲国产精品久久人人爱 | 成人免费视频免费观看 | 国产偷v国产偷v亚洲高清 | 99久久视频 | 黄瓜视频在线免费看 | 欧美丰满美乳xxx高潮www | 苍井空亚洲精品aa片在线播放 | 欧美熟妇乱码在线一区 | 国产精品永久在线观看 | 大尺度做爰呻吟舌吻网站 | 毛片福利视频 | 日韩一区二区三区在线看 | 久热精品免费视频 | 亚洲精品日产精品乱码不卡 | 成人在线免费小视频 | 国产亚洲成av人在线观看导航 | 日日射夜夜| 少妇系列在线观看 | 不卡av电影在线 | 自拍偷拍精品视频 | 影视先锋av资源 | 国产精品乱轮 | 久久噜噜| 国产精品久久久久久久久久辛辛 | 精品国产乱码久久久久久图片 | 男女插插插网站 | 欧美乱视频 | 色欲av无码一区二区三区 | 亚洲一区自拍偷拍 | 日韩一区二区三免费高清在线观看 | av黄色免费在线观看 | 蜜臀在线观看 | 男人扒女人添高潮视频 | 日本精品视频在线播放 | 亚洲午夜精品视频 | 九色porny自拍视频在线播放 | 成年人黄色 | 99看片| 精产国品一二三产区m553麻豆 | 福利电影在线播放 | 日韩视频 中文字幕 | 人妻互换一区二区三区四区五区 | 91精品国产91 | 日本专区在线 | 精品国产九九 | 国产一区二区三区四区五区美女 | 亚洲欧美综合色 | 美女又黄又爽 | 国产精品无码久久av | 午夜激情福利电影 | 67194成人在线观看 | 麻豆av在线免费观看 | 午夜精品一二三区 | 手机在线中文字幕 | 久久久久草 | 18禁男女爽爽爽午夜网站免费 | 一本色道久久hezyo加勒比 | 在线看网站 | 国产高清视频在线播放 | 哪里看毛片 | 色网站免费看 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 麻豆精品免费观看 | 不卡视频在线观看 | 国产草草影院 | 一级黄色视 | 国产电影一区在线观看 | 欧洲黄视频 | 国产亚洲精品久久久 | 懂色中文一区二区在线播放 | 91精品国产乱码久久久张津瑜 | 中文字幕一区二区三区四区五区 | 黄色片网站国产 | 国产噜噜噜噜噜久久久久久久久 | www.狠狠爱 | 欧美成人午夜免费视在线看片 | 女人十八毛片嫩草av | 手机看片国产日韩 | 91深夜福利 | 三上悠亚ssⅰn939无码播放 | 免费麻豆国产一区二区三区四区 | 潮喷失禁大喷水无码 | 国产在线综合视频 | 亚洲二区精品 |