android 開發 常用到的一些網路通訊包

來源:互聯網
上載者:User

標籤:

心靜志遠 | 技術會被淘汰,但思想會一直永存(多思考,多總結,多分享)

無線開發一定少不了與服務端進行互動,這自然離不開使用類似於HttpClient的工具包來發送和接受HTTP請求。常用的有一些這些:
1. Apache 的 HttpClient(Android2.3之前使用)
2. Android 簡化擴充版 HttpUrlConnection
3. Google 推出的 Volley(在Android2.3之前使用HttpClient,之後使用HttpUrlConnection)
4. Git開源項目Okhttp (使用http+SPDY協議)
5. Android-async-http
6. Retrofit(預設使用Okhttp作為傳輸層)
7. Android Query
8. Android AsyncTask

HttpClient 與 HttpUrlConnection對比:

對於HttpClient 大家都比較熟悉,這裡就不做多餘闡述,為什麼使用HttpUrlConnection呢?主要原因是因為HttpClient雖然穩定,但是太龐大了,在Android上不易做升級和擴充,所以才有了輕量級的HttpUrlConnection。HttpUrlConnection相比與HttpClient做的擴充點可以參考下面的部落格。
參考:
http://blog.csdn.net/guolin_blog/article/details/12452307
http://android-developers.blogspot.com/2011/09/androids-http-clients.html

Volley中使用的也是HttpUrlConnection,那麼Volley在HttpUrlConnection上有沒有改進呢?還有待查閱相關資料。

Android內建的AsyncTask:不推薦使用。

弊端:
1. 不支援環境改變;
2. 不能取消網路請求;
3. 沒有簡單的方法來做並發API調用;
4. 每個時刻只能有一個AsyncTask任務可以運行;
5. ancle()方法並不會起作用;
6. Activity被銷毀,還保持Activity的引用時,可能導致記憶體泄露;
7. Activity reCreated時,可能導致AsyncTask的結果丟失;
8. 串列或並行的不確定性,依賴API Level的不同而不同;
AsyncTas陰暗的一面:http://bon-app-etit.blogspot.in/2013/04/the-dark-side-of-asynctask.html

OkHttp、Volley、Retrofit三者對比:

Volley的特點:
1. Volley的優勢在於處理小檔案的http請求;
2. 在Volley中也是可以使用Okhttp作為傳輸層;參考:https://plus.google.com/+JakeWharton/posts/eJJxhkTQ4yU
3. Volley在處理高解析度的映像壓縮上有很好的支援;
4.?NetworkImageView在GC的使用模式上更加保守,在請求清理上也更加積極,networkimageview僅僅依賴於強大的記憶體引用,併當一個新請求是來自ImageView或ImageView離開螢幕時 會清理掉所有的請求資料。
5. Volley比Retrofit在記憶體錯誤處理上要更好。
Retrofit的特點:
1. 使用REST API時非常方便;
2. 傳輸層預設就使用OkHttp;
3. 支援NIO;
4. 擁有出色的API文檔和社區支援
5. 速度上比volley更快;
OkHttp的特點:
支援SPDY(要求標頭壓縮、並行請求、強制SSL、服務端推送);

三者的效能基準:
其中Volley與Retrofit的對比,參考:http://instructure.github.io/blog/2013/12/09/volley-vs-retrofit/
三者對比參考:http://stackoverflow.com/questions/16902716/comparison-of-android-networking-libraries-okhttp-retrofit-volley

android 開發 常用到的一些網路通訊包

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.