25類Android經常使用開源框架

一、圖片加載,緩存,處理

框架名稱 功能描述
Android Universal Image Loader 一個強大的加載,緩存,展現圖片的庫,已過期
Picasso 一個強大的圖片下載與緩存的庫
Fresco 一個用於管理圖像和他們使用的內存的庫
Glide 一個圖片加載和緩存的庫,使用的App有:網易新聞
GlidePalette Android Lollipop Palette is now easy to use with Glide
PicassoPalette Android Lollipop Palette is now easy to use with Picasso !
Picasso-transformations 一個爲Picasso提供多種圖片變換的庫
Glide-transformations 一個爲Glide提供多種圖片變換的庫

二、圖片裁剪

框架名稱 功能描述
uCrop Image Cropping Library for Android,使用的App有:薄荷,嗶哩嗶哩
android-crop 圖片裁剪,使用的App有:網易新聞,芒果TV
cropper 圖片裁剪開源框架
Android-Image-Cropper Image Cropping Library for Android, optimized for Camera / Gallery
PhotoCropper Android 大圖片裁剪終極解決方案
android-cropimage CropImage Activity from Gallery.apk packaged as a reusable Android library
PhotoCrop A Library which can be used to crop images in Android similar to Facebook and Telegram,使用的App有:快手

三、圖片選擇

框架名稱 功能描述
MultiImageSelector 圖片選擇,使用的App有:薄荷
BGAPhotoPicker-Android Android 圖片選擇、預覽、九宮格圖片控件、拖拽排序九宮格圖片控件
TakePhoto 輕量級Android照片處理框架
RxGalleryFinal Android圖片單選/多選、拍照、裁剪、壓縮。視頻選擇和錄製。GalleryFinal
boxing 一個多媒體選擇器庫,B站出品。能夠選擇一張或者多張圖片,提供預覽和裁剪功能。一樣支持gif圖,選擇視頻和圖像壓縮功能。

四、圖片轉換,壓縮,濾鏡

框架名稱 功能描述
Android-gpuimage 一個開源的基於GPU的圖像處理庫,提供各類各樣的圖像處理濾鏡,而且支持照相機和攝像機的實時濾鏡,使用的App有:快手
photoview 使用的App有:薄荷,網易新聞
circleimageview 圓形圖片,使用的App有:薄荷
RoundedImageView 圓形圖片,使用的App有:薄荷
SelectableRoundedImageView Android ImageView that supports different radii on each corner
android-gif-drawable gif圖片,使用的App有:網易新聞,快手
Luban 多是最接近微信朋友圈的圖片壓縮算法
Compressor Compressor is a lightweight and powerful android image compression library

五、高斯模糊,毛玻璃,圖片模糊

框架名稱 功能描述
android-stackblur Android StackBlur is a library that can perform a blurry effect on a Bitmap based on a gradient or radius, and return the result. The library is based on the code of Mario Klingemann.
Blurry Blurry is an easy blur library for Android
blurkit-android The missing Android blurring library. Fast blur-behind layout that parallels iOS.
BlurView Dynamic iOS-like blur of underlying Views for Android
ImageBlurring Android blurring image(bitmap) by java and jni

六、緩存

框架名稱 功能描述
LruCache Android原生API,內存緩存
DiskLruCache Java實現基於LRU的磁盤緩存
ASimpleCache 一個爲android制定的輕量級的開源緩存框架
base-diskcache Android 緩存庫,融合了DiskLruCache和ASimpleCache

七、網絡請求

框架名稱 功能描述
httpclient apache開源的網絡請求框架,已過期
AsyncHttpClient 基於httpclient封裝,已過期
OkHttp Square出品,一個Http與Http/2的客戶端
Retrofit Square出品,類型安全的Http客戶端
Volley Google推出的Android異步網絡請求框架和圖片加載框架,使用的App有:網易新聞


從Android 6.0 開始,Google刪除了apache的開源網絡請求框架httpclient,因此基於httpclient的AsyncHttpClient也不推薦使用了html

Volley適合那些請求頻繁但數據量不大的場景,不適用於大數據的請求,好比下載文件java

Android 6.0 後,Android開始使用OkHttp,而Retrofit是一個網絡代理框架,能夠更簡單的使用OkHttpandroid

八、網絡解析

框架名稱 功能描述
Gson 一個Java序列化/反序列化庫,能夠將JSON和java對象互相轉換
Jackson Jackson能夠輕鬆地將Java對象轉換成json對象和xml文檔,一樣也能夠將json、xml轉換成Java對象
Fastjson Java上一個快速的JSON解析器/生成器
HtmlPaser 一種用來解析單個獨立html或嵌套html的方式
Jsoup 一個以最好的DOM,CSS和jQuery解析html的庫

九、數據庫

框架名稱 功能描述
OrmLite JDBC和Android的輕量級ORM java包
Sugar 用超級簡單的方法處理Android數據庫
GreenDAO 一種輕快地將對象映射到SQLite數據庫的ORM解決方案,使用的App有:薄荷,京東
ActiveAndroid 以活動記錄方式爲Android SQLite提供持久化
SQLBrite SQLiteOpenHelper 和ContentResolver的輕量級包裝
android-database-sqlcipher 數據庫加密
storio Beautiful API for SQLiteDatabase and ContentResolver
realm-java 移動數據庫,高性能數據庫:一個SQLite和ORM的替換品
ObjectBox 相信很多人都用過GreenDao和EventBus,這兩庫都是greenrobot公司出品。ObjectBox也是該公司出品。GreenDao號稱是最快的與SQLite的對象關係映射(ORM)。可是自從2011年以來,公司聲稱發現了許多的缺陷,有不少問題影響了性能。因此開發出另一套性能最好且易用的NoSQL數據庫,優於其餘數據庫5-15倍的性能。

十、依賴注入

框架名稱 功能描述
ButterKnife 將Android視圖和回調方法綁定到字段和方法上
Dagger2 一個Android和java快速依賴注射器
AndroidAnotations 快速安卓開發。易於維護
RoboGuice Android平臺的Google Guice 已退役
guice Google開發的依賴注入框架

十一、圖表Chart

框架名稱 功能描述
WilliamChart 建立圖表的Android庫
HelloCharts 兼容到API8的Android圖表庫,使用的App有:薄荷
MPAndroidChart 一個強大的Android圖表視圖/圖形庫,使用的App有:春雨醫生

十二、後臺處理

框架名稱 功能描述
Tape 一個輕快的,事務性的,基於文件的FIFO的庫
Android Priority Job Queue 一個專門爲Android輕鬆調度任務的工做隊列

1三、事件總線

框架名稱 功能描述
EventBus 安卓優化的事件總線,簡化了活動、片斷、線程、服務等的通訊,使用的App有:薄荷
Otto 一個基於Guava的加強的事件總線
HermesEventBus 一個基於EventBus的、能在進程間發送和接收event的庫,在IPC或者插件開發中很是有用

1四、響應式編程

框架名稱 功能描述
RxJava JVM上的響應式擴展
RxJavaJoins 爲RxJava提供Joins操做
RxAndroid Android上的響應式擴展,在RxJava基礎上添加了Android線程調度
RxBinding 提供用RxJava綁定Android UI的API
Agera Android上的響應式編程
RxLifecycle Lifecycle handling APIs for Android apps using RxJava

1五、Log框架

框架名稱 功能描述
Logger 簡單,漂亮,強大的Android日誌工具
Hugo 在調試版本上註解的觸發方法進行日誌記錄
Timber 一個小的,可擴展的日誌工具

1六、測試框架

框架名稱 功能描述
Mockito Java編寫的Mocking單元測試框架
Robotium Android UI 測試
Robolectric Android單元測試框架


Android自帶不少測試工具:JUnit,Monkeyrunner,UiAutomator,Espresso等git

1七、調試框架

框架名稱 功能描述
Stetho 調試Android應用的橋樑,使得能夠利用Chrome開發者工具進行調試

1八、性能優化

框架名稱 功能描述
LeakCanary 內存泄漏檢測工具
BlockCanary 輕鬆找出Android App界面卡頓元兇
ACRA Android應用程序崩潰報告
Google Guava Guava工程包含了若干被Google的 Java項目普遍依賴 的核心庫,例如:集合 [collections] 、緩存 [caching] 、原生類型支持 [primitives support] 、併發庫 [concurrency libraries] 、通用註解 [common annotations] 、字符串處理 [string processing] 、I/O 等等。 全部這些工具天天都在被Google的工程師應用在產品服務中。
google protobuf 由google開發,而且在google內部使用。Protobuf的做用和xml、json是一回事,但他是二進制格式,性能好、效率高。ProtoBuf開發者指南

1九、熱修復

框架名稱 功能描述
tinker 騰訊開源的一個熱修復框架
AndFix alibaba熱修復框架
dexposed alibaba熱修復框架

20、二維碼

框架名稱 功能描述
Zxing 一個二維碼開源框架
barcodescanner 使用的App有:薄荷
BGAQRCode-Android 掃描二維碼、掃描條形碼、相冊獲取圖片後識別、生成帶 Logo 二維碼、支持微博微信 QQ 二維碼掃描樣式
zxing-android-embedded 使用的App有:春雨醫生,芒果TV

2一、多媒體

框架名稱 功能描述
ijkplayer Bilibili開源的視頻播放器
DanmakuFlameMaster Android開源彈幕引擎·烈焰彈幕使,使用的App有:網易新聞
Vitamio 一款全能多媒體開發框架,全面支持硬件解碼與 GPU 渲染
FFmpeg 一個基於C語言的多媒體開源框架
百度媒體雲 基於百度視頻處理、人臉識別、語音等技術媒體相關的總體解決方案
ExoPlayer Google開源的視頻播放器

2二、漢語轉拼音

框架名稱 功能描述
pinyin4j https://github.com/belerweb/pinyin4j
TinyPinyin 適用於Java和Android的快速、低內存佔用的漢字轉拼音庫。
PinyinSearchLibrary The library of PinyinSearch,a Java Library which provide data parsing methods, data matching method and so on for T9 search and Qwerty search.PinyinSearch = T9Search + QwertySearch
com.pinyin4android 惟品會使用

2三、下載

框架名稱 功能描述
MultiThreadDownload 使用的App有:薄荷
FileDownloader Android 文件下載引擎,穩定、高效、靈活、簡單易用
RxDownload 基於RxJava和Retrofit打造的下載工具, 支持多線程下載和斷點續傳, 智能判斷是否支持斷點續傳等功能
file-downloader 安卓上輕量級Http/Https文件下載框架,個人目標是讓安卓文件下載越簡單越好,儘量以最簡潔明瞭的方式完成複雜需求。

2四、動畫

框架名稱 功能描述
facebook:rebound A Java library that models spring dynamics and adds real world physics to your app
ViewAnimator A fluent Android animation library
Material-Animations Android Transition animations explanation with examples
AndroidViewAnimations Cute view animation collection.
ListViewAnimations An Android library which allows developers to easily add animations to ListView items
recyclerview-animators An Android Animation library which easily add itemanimator to RecyclerView items.
RecyclerViewItemAnimators An Android library which provides simple Item animations to RecyclerView items
AnimationEasingFunctions Android Animation Easing Functions. Let’s make animation more real!
BaseAnimation BaseAnimation收集網絡Android相關動畫集合,自定義控件等,近200多種源碼
FragmentAnimations 3D animations for support-v4 Fragment transition.
AnimatedEditText Androids EditText that animates the typed text. EditText is extended to create AnimatedEditText and a PinEntryEditText.
ViewPagerTransforms Library containing common animations needed for transforming ViewPager scrolling for Android v13+
lottie-android Render After Effects animations natively on Android and iOS

2五、Android選擇器類庫

包括日期時間選擇器、單項選擇器、地址選擇器、顏色選擇器、文件目錄選擇器、數字選擇器、星座選擇器等github

框架名稱 功能描述
material-calendarview material design 風格的日曆控件使用的App有:薄荷
MaterialDateTimePicker Pick a date or time on Android in style,使用的App有:薄荷
android-times-square Standalone Android widget for picking a single date from a calendar view.
AndroidPicker 安卓選擇器類庫,包括日期時間選擇器、單項選擇器、地址選擇器、顏色選擇器、文件目錄選擇器、數字選擇器、星座選擇器等。
Android-PickerView 仿iOS的PickerView控件,有時間選擇和選項選擇並支持一二三級聯動效果
WheelPicker Simple and fantastic wheel view in realistic effect for android.
Android-FilePicker Photopicker and document picker for android
NumberPickerView another NumberPicker with more flexible attributes on Android platform
Android-PickerView-Library Simple PickerView for Android
相關文章
相關標籤/搜索