淺談Android應用HTTP框架選型

淺談Android應用HTTP框架選型

我們知道,Android應用主要是通過客戶端-服務器的方式進行數據交互,一般在APP開發時可能是一個接口對應一個顯示模塊,這樣的設計會讓客戶端更新時很麻煩。為了解決這個問題,通常的做法是和服務端之間定義協議,設計顯示模式,進而達到實時更新UI界面的目的,增加或刪除顯示模塊時不需要讓用戶手動更新apk,這種方法最常見的就是在做活動或者廣告的時候用到。以我們的優云Mobile移動端為例,Android和iOS應當使用一個統一的接口定義我們的導航欄,針對每個導航欄下的子頁面數據對圖形進行規劃分類,UI需要給出前端有哪些展現形式。如圖所示:

1

2.jpg

2

 淺談Android應用HTTP框架選型

3

淺談Android應用HTTP框架選型

有了顯示模式的設計,接下來就是實現了,對于客戶端來說,http通信的框架選型是很重要的,目前Andriod Http通信的框架常用的有以下四種:

 ·        HttpClient:

源于Apache,更適合在Android2.2以下的版本使用,在Android6.0中已經被刪除。

·        HttpUrlConnection:

Android標準實現,支持GZIP壓縮,連接速度比HttpClient要快很多,推薦使用。

·        Volley:

2013年google發布的第三方http開源框架,內部集成了HttpClient和HttpUrlConnection,內部有一個線程池,讓所有的http請求進行排序,在網絡圖片加載中采用三級緩存機制使網絡圖片進行異步加載,適合數量不大但通信頻繁的地方使用。目前我們的優云Mobile移動端使用的就是這個框架,但是這個框架的不足在于對服務端重定向或者異常的情況處理不夠??梢栽谠创a基礎上添加服務端可能返回的錯誤處理。

·        okHttp:

2015年Google發布的okHttp,功能十分強大,封裝了文件的上傳下載功能,圖片的加載,處理了服務端各種可能的網絡錯誤,但是文件大小有311k,某些場景下使用可能會稍嫌臃腫。

 

接下來我們談談內存分析。再好的代碼,我們也需要進行內存校驗,看看是否有內存溢出或者內存泄漏的情況,這里利用google提供的Mat工具進行可視化分析,確保我們的內存正常。首先在DDMS中選擇我們的應用,點擊Dump按鈕,運行apk一段時間或者利用monkey進行自動化測試一段時間后,再次點擊Dump,得到.hprof文件,利用Androidsdk里面的hprof-conv命令將.hprof文件轉化為MemoryAnalyzer可以識別的文件,再打開mat工具,打開.hprof文件,得到如下圖所示的內容,進行內存分析查看。

 淺談Android應用HTTP框架選型

 

最后介紹下apk文件打包,我們現在大部分是用Android studio進行開發,打包也是用gradle進行渠道分類打包,配置完混淆文件后,gradle中再配置不同的渠道,可以傳遞渠道號給服務端讓服務端進行不同版本和不同渠道號的分析和控制。

優云Mobile一旦安裝到手機上,即可隨時隨地可查看應用體驗數據。

原創文章,作者:uyunops,如若轉載,請注明出處:http://www.www58058.com/18265

(0)
uyunopsuyunops
上一篇 2016-06-22 15:35
下一篇 2016-06-22 15:39

相關推薦

  • 編譯安裝bind9

    一、下載bind9.9.5源碼包     可以通過www.isc.org站點來獲得源碼包。 二、將源碼包解壓到任意目錄     源碼包通常都是.tar.gz文件,因此我們需要先將其解壓: 三、編譯安裝bind     1、安裝前的準備工作 …

    Linux干貨 2015-05-05
  • Shell腳本編程3

    Shell腳本編程3  一、雜項知識整理 1、select與case select是個無限循環,因此要記住用break命令退出循環,或用exit命令終止腳本。也可以按ctrl+c退出循環,自動生成數字的選擇項,適合創建菜單。 select經常和case聯合使用。與for循環類似,可以省略in LIST,此時使用位置參量$1、$2等傳遞參數。 cas…

    Linux干貨 2016-08-19
  • test

    test the URL.

    Linux干貨 2016-12-03
  • 文本查找之find組合拳

    find命令不僅能幫助我們在數目眾多的文件中快速找到滿足條件的文本,我們還能通過find處理動作對查找到的文件進行進一步的處理。 一、find的特點:               遍歷查找,因此查找速度略慢   &nbs…

    Linux干貨 2016-08-15
  • bash腳本編程class3

    bash腳本編程class3—函數定義與數組使用相關     一.函數的使用以及數組的定義   我們通過學習知道,當編輯一個shell腳本的時候,可以在這個shell腳本中調用其他的shell腳本來實現特定的功能。在實際工作環境中,用很多shell實現的功能是我們常常使用到的,如果一次一次的調用這些shell腳本會顯得非常麻煩?!?/p>

    Linux干貨 2016-08-24
  • corosync+pacemaker+drbd+mysql來實現mysql的高可用和數據的同步

    實現拓撲圖: 實驗流程: 先對兩主機安裝上corosync和pacemaker 兩主機安裝drbd服務,并且設置好drbd的組設備 選擇drbd主節點上,進行數據庫的初始化 進行資源的定義和配置 測試 實驗前,我們還需要做一些準備工作: 1、時間必須保持同步   使用ntp服務器 2、節點必須名稱互相通信    解析節點名稱 &…

    Linux干貨 2015-11-10

評論列表(1條)

  • stanley
    stanley 2016-06-22 15:38

    這圖很贊,是找的還是自己畫的?

欧美性久久久久