多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 網絡框架Volley原理分析

網絡框架Volley原理分析

來源:程序員人生   發布時間:2015-04-24 08:14:06 閱讀次數:3778次

簡介:Volley 是 Google 推出的 Android 異步網絡要求框架和圖片加載框架。在 Google I/O 2013 大會上發布。

Volley 的特點:特別合適數據量小,通訊頻繁的網絡操作。

首先從與框架同名的Volley.java開始分析,文件位于toolbox。該類主要用于建立1個新的要求隊列RequestQueue,方法有兩個分別是:

newRequestQueue(Context context, HttpStack stack) newRequestQueue(Context context)

1.傳入Context時,調用newRequestQueue(context, null),然后根據DEFAULT_CACHE_DIR定義緩存文件名。

2.然后根據系統版本號,sdk大于9時使用HurlStack( HttpUrlConnection ),否則使用HttpClientStack( HttpClient ),然后將Stack傳入Network,Network可以調用Stack處理要求,然后將結果轉換成NetworkResponse

3.然后將定義的Network和緩存目錄傳入RequestQueue(Cache cache, Network network),根據默許的DEFAULT_NETWORK_THREAD_POOL_SIZE線程池大小常量去新建要求隊列。

4.最后開啟要求隊列,履行start()方法,該方法會產生根據線程池大小產生對應數量的網絡隊列及緩存隊列

5.創建完成1個要求隊列后,每次調用只需要將自定義的Request通過add()方法傳入,要求將會被添加到mCurrentRequests,該Set用于存儲當前正在處理的要求,接著根據要求的shouldCache()方法判斷是不是需要進行緩存,如果不需要則直接放入網絡隊列,否則根據Url將要求放入緩存隊列。

6.緩存調度器CacheDispatcher會從緩存隊列中取出要求,然后根據CacheKey獲得緩存,如果獲得失敗則放入網絡隊列中去處理,否則進行驗證有效期等,最后將處理結果交由ResponseDelivery,他是返回結果分發接口,用于分發返回的結果

7.網絡調度器NetworkDispatcher會從網絡隊列中取出要求,然后處理完成交由ResponseDelivery分發處理結果。

最后附上Volley的要求流程圖
Volley請求流程圖

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 热色综合| 69热视频 | 羞羞动漫网 | 精品日韩二区三区精品视频 | 亚洲嫩草影院久久精品 | 日韩看片 | 美女享受黑人的巨茎 | 亚洲第一网站免费视频 | 国产女主播一区二区在线观看 | 亚洲欧美日韩在线2020 | 天码毛片一区二区三区入口 | 欧美亚洲综合在线 | 免看一级a毛片一片成人不卡 | 精品无码久久久久久久动漫 | 亚洲最大成人在线 | 特级a欧美做爰片毛片 | 一区亚洲 | 欧美国一级毛片片aa | 亚洲国产最新在线一区二区 | 精品国产不卡一区二区三区 | 一级白嫩美女毛片免费 | 国产精品亚洲欧美大片在线看 | 波多野结衣视频免费 | 国产精品一区二区三区免费视频 | 亚洲性一区 | 亚洲欧美日韩综合一区 | 成人区精品一区二区不卡亚洲 | 欧美一级毛片在线播放 | 亚洲一区二区三区深夜天堂 | 亚洲欧美国产毛片在线 | 亚洲在线网 | 男女在线免费视频 | 欧美日韩视频一区二区三区 | 人人澡人人爱 | 亚洲欧美视频一级 | 国产精品福利视频手机免费观看 | 国产在线h | 国产成人久久久精品一区二区三区 | 被公侵犯肉体中文字幕一区二区 | 自拍偷拍亚洲第一页 | 波多野结衣中文字幕一区二区三区 |