1. 程式人生 > >Android 通用流行框架

Android 通用流行框架

  1. 快取

DiskLruCache Java實現基於LRU的磁碟快取, 在 防止多圖OOM的時候用得上。
2.圖片載入

Android Universal Image Loader 一個強大的載入,快取,展示圖片的庫
Picasso 一個強大的圖片下載與快取的庫
Fresco 一個用於管理影象和他們使用的記憶體的庫
Glide 一個圖片載入和快取的庫
3. 圖片處理

Picasso-transformations 一個為Picasso提供多種圖片變換的庫
Glide-transformations 一個為Glide提供多種圖片變換的庫
Android-gpuimage 基於OpenGL的Android過濾器
4. 網路請求

Android Async HTTP Android非同步HTTP庫
AndroidAsync 非同步Socket,HTTP(客戶端+伺服器),WebSocket,和socket.io庫。基於NIO而不是執行緒。
OkHttp 一個Http與Http/2的客戶端,比其他的強大,使用方式也稍顯複雜
Retrofit 型別安全的Http客戶端
Volley Google推出的Android非同步網路請求框架和圖片載入框架。2013年Google I/O大會上推出了一個新的網路通訊框架——Volley。Volley可是說是把AsyncHttpClient和Universal-Image-Loader的優點集於了一身,既可以像AsyncHttpClient一樣非常簡單地進行HTTP通訊,也可以像Universal-Image-Loader一樣輕鬆載入網路上的圖片。除了簡單易用之外,Volley在效能方面也進行了大幅度的調整,它的設計目標就是非常適合去進行資料量不大,但通訊頻繁的網路操作,而對於大資料量的網路操作,比如說下載檔案等,Volley的表現就會非常糟糕。
5. 網路解析

Gson 一個Java序列化/反序列化庫,可以將JSON和java物件互相轉換。相對於較為傳統的Json解析來說,google共享的開源Gson在解析速度和所使用的記憶體在有著明顯的優勢,雖然說阿里巴巴也提供了fastgson包,但是它跟Gson的處理速度大同小異,只是底層實現的原理不同。核心函式是:

 public static String createJsonString(Object value)  
    {  
        Gson gson = new Gson();  
        String str = gson.toJson(value);  
        return
str; }

Jackson Jackson可以輕鬆地將Java物件轉換成json物件和xml文件,同樣也可以將json、xml轉換成Java物件。
Stream API方式是開銷最低、效率最高,但編寫程式碼複雜度也最高,在生成Json時,需要逐步編寫符號和欄位拼接json,在解析Json時,需要根據token指向也查詢json值,生成和解析json都不是很方便,程式碼可讀性也很低。
Databinding處理Json是最常用的json處理方式,生成json時,建立相關的java物件,並根據json內容結構把java物件組裝起來,最後呼叫writeValue方法即可生成json,
解析時,就更簡單了,直接把json對映到相關的java物件,然後就可以遍歷java物件來獲取值了。
Fastjson Java上一個快速的JSON解析器/生成器。阿里巴巴FastJson是一個Json處理工具包,包括“序列化”和“反序列化”兩部分,它具備如下特徵:
速度最快,測試表明,fastjson具有極快的效能,超越任其他的Java Json parser。包括自稱最快的JackJson;
功能強大,完全支援Java Bean、集合、Map、日期、Enum,支援範型,支援自省;無依賴,能夠直接執行在Java SE 5.0以上版本;支援Android;開源 (Apache 2.0)
[java] view plain copy 在CODE上檢視程式碼片派生到我的程式碼片