日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

網絡框架Volley原理分析

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

簡介: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請求流程圖

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕亚洲国产 | 在线中文视频 | 黄色在线 | 人人爽人人爽 | 国产三级欧美三级日产三级99 | 国产精品久久久久久久免费大片 | 色综合色综合色综合色综合 | 日韩久久三级 | jizz中国女人高潮 | 亚洲福利一区二区三区 | 91第一页| 欧美亚洲国产日韩 | xx视频在线 | 日韩一二三 | 亚洲视频一二三区 | 欧美性猛交xxxx黑人交 | 久草一区 | 久久aⅴ乱码一区二区三区 蜜桃永久免费 | 国产精品亚洲视频 | h片在线观看视频免费免费 日韩国产一区二区 | 成 人色 网 站 欧美大片在线观看 | 免费视频在线观看网站 | 久久久久网站 | 国产精品区一区二区三 | 日韩在线免费视频 | www.99精品| 成人毛片网| 亚洲2020天天堂在线观看 | 国产一区二区在线视频观看 | 久久精品国产亚洲一区二区三区 | 久久久久久久久久久网站 | 麻豆一区二区99久久久久 | 亚洲成人免费电影 | 日韩一区二区三区视频在线观看 | 欧美福利在线播放 | 欧美性受 | 国产精品久久久久久久va果冻 | 日韩一级片 | 激情久久av一区av二区av三区 | 国产精品久久久久久久久免费相片 | 一区二区久久久 |