緩存
DiskLruCacheJava實(shí)現(xiàn)基于LRU的磁盤緩存
2.圖片加載
Android Universal Image Loader一個(gè)強(qiáng)大的加載,緩存,展示圖片的庫
Picasso一個(gè)強(qiáng)大的圖片下載與緩存的庫
Fresco一個(gè)用于管理圖像和他們使用的內(nèi)存的庫
Glide一個(gè)圖片加載和緩存的庫
3. 圖片處理
Picasso-transformations一個(gè)為Picasso提供多種圖片變換的庫
Glide-transformations一個(gè)為Glide提供多種圖片變換的庫
Android-gpuimage基于OpenGL的Android過濾器
4. 網(wǎng)絡(luò)請(qǐng)求
Android Async HTTPAndroid異步HTTP庫
AndroidAsync異步Socket,HTTP(客戶端+服務(wù)器),WebSocket,和socket.io庫。基于NIO而不是線程。
OkHttp一個(gè)Http與Http/2的客戶端
Retrofit類型安全的Http客戶端
VolleyGoogle推出的Android異步網(wǎng)絡(luò)請(qǐng)求框架和圖片加載框架
5. 網(wǎng)絡(luò)解析
Gson一個(gè)Java序列化/反序列化庫,可以將JSON和java對(duì)象互相轉(zhuǎn)換
JacksonJackson可以輕松地將Java對(duì)象轉(zhuǎn)換成json對(duì)象和xml文檔,同樣也可以將json、xml轉(zhuǎn)換成Java對(duì)象
FastjsonJava上一個(gè)快速的JSON解析器/生成器
HtmlPaser一種用來解析單個(gè)獨(dú)立html或嵌套html的方式
Jsoup一個(gè)以最好的DOM,CSS和jQuery解析html的庫
6. 數(shù)據(jù)庫
OrmLiteJDBC和Android的輕量級(jí)ORM java包
Sugar用超級(jí)簡單的方法處理Android數(shù)據(jù)庫
GreenDAO一種輕快地將對(duì)象映射到SQLite數(shù)據(jù)庫的ORM解決方案
ActiveAndroid以活動(dòng)記錄方式為Android SQLite提供持久化
SQLBriteSQLiteOpenHelper 和ContentResolver的輕量級(jí)包裝
Realm移動(dòng)數(shù)據(jù)庫:一個(gè)SQLite和ORM的替換品
7. 依賴注入
ButterKnife將Android視圖和回調(diào)方法綁定到字段和方法上
Dagger2一個(gè)Android和java快速依賴注射器。
AndroidAnotations快速安卓開發(fā)。易于維護(hù)
RoboGuiceAndroid平臺(tái)的Google Guice
8. 圖表
WilliamChart創(chuàng)建圖表的Android庫
HelloCharts兼容到API8的Android圖表庫
MPAndroidChart一個(gè)強(qiáng)大的Android圖表視圖/圖形庫
9. 后臺(tái)處理
Tape一個(gè)輕快的,事務(wù)性的,基于文件的FIFO的庫
Android Priority Job Queue一個(gè)專門為Android輕松調(diào)度任務(wù)的工作隊(duì)列
10. 事件總線
EventBus安卓優(yōu)化的事件總線,簡化了活動(dòng)、片段、線程、服務(wù)等的通信
Otto一個(gè)基于Guava的增強(qiáng)的事件總線
11. 響應(yīng)式編程
RxJavaJVM上的響應(yīng)式擴(kuò)展
RxJavaJoins為RxJava提供Joins操作
RxAndroidAndroid上的響應(yīng)式擴(kuò)展,在RxJava基礎(chǔ)上添加了Android線程調(diào)度
RxBinding提供用RxJava綁定Android UI的API
AgeraAndroid上的響應(yīng)式編程
12. Log框架
Logger簡單,漂亮,強(qiáng)大的Android日志工具
Hugo在調(diào)試版本上注解的觸發(fā)方法進(jìn)行日志記錄
Timber一個(gè)小的,可擴(kuò)展的日志工具
13. 測(cè)試框架
MockitoJava編寫的Mocking單元測(cè)試框架
RobotiumAndroid UI 測(cè)試
RobolectricAndroid單元測(cè)試框架
Android自帶很多測(cè)試工具:JUnit,Monkeyrunner,UiAutomator,Espresso等
14.調(diào)試框架
Stetho調(diào)試Android應(yīng)用的橋梁,使得可以利用Chrome開發(fā)者工具進(jìn)行調(diào)試
性能優(yōu)化
LeakCanary內(nèi)存泄漏檢測(cè)工具
ACRAAndroid應(yīng)用程序崩潰報(bào)告
主要有四大模塊:
數(shù)據(jù)庫模塊:android中的orm框架,一行代碼就可以進(jìn)行增刪改查;
支持事務(wù),默認(rèn)關(guān)閉;
可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時(shí)候請(qǐng)注解表名和列名);
支持綁定外鍵,保存實(shí)體時(shí)外鍵關(guān)聯(lián)實(shí)體自動(dòng)保存或更新;
自動(dòng)加載外鍵關(guān)聯(lián)實(shí)體,支持延時(shí)加載;
支持鏈?zhǔn)奖磉_(dá)查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
注解模塊:android中的ioc框架,完全注解方式就可以進(jìn)行UI,資源和事件綁定;
新的事件綁定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包c(diǎn)om.lidroid.xutils.view.annotation.event。
網(wǎng)絡(luò)模塊:支持同步,異步方式的請(qǐng)求;
支持大文件上傳,上傳大文件不會(huì)oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請(qǐng)求;
下載支持301/302重定向,支持設(shè)置是否根據(jù)Content-Disposition重命名下載的文件;
返回文本內(nèi)容的請(qǐng)求(默認(rèn)只啟用了GET請(qǐng)求)支持緩存,可設(shè)置默認(rèn)過期時(shí)間和針對(duì)當(dāng)前請(qǐng)求的過期時(shí)間。
圖片緩存模塊:加載bitmap的時(shí)候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象;
支持加載網(wǎng)絡(luò)圖片和本地圖片;
內(nèi)存管理使用lru算法,更好的管理bitmap內(nèi)存;
可配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫等...