1. Cache
name | describe |
DiskLruCache | Java implements LRU-based disk cache |
2. Image loading
name | describe |
Android Universal Image Loader | A powerful library for loading, caching, and displaying images |
Picasso | A powerful image download and cache library |
Fresco | A library for managing images and the memory they use |
Glide | A library for image loading and caching |
3. Image processing
name | describe |
Picasso-transformations | A library that provides various image transformations for Picasso |
Glide-transformations | A library that provides various image transformations for Glide |
android-gpuimage | OpenGL based Android filter |
4. Network Request
name | describe |
Android Async HTTP | Android Asynchronous HTTP Library |
AndroidAsync | Asynchronous Socket, HTTP (client + server), WebSocket, and socket.io libraries. Based on NIO instead of threads. |
OkHttp | A Http and Http/2 client |
Retrofit | Type-safe Http client |
Volley | Android asynchronous network request framework and image loading framework launched by Google |
5. Network Analysis
name | describe |
Gson | A Java serialization/deserialization library that converts JSON and Java objects to and from each other |
Jackson | Jackson can easily convert Java objects into json objects and xml documents, and can also convert json and xml into Java objects |
Fastjson | A fast JSON parser/generator on Java |
HtmlPaser | A way to parse a single standalone html or nested html |
Are p | A library for parsing html with the best of DOM, CSS and jQuery |
6. Database
name | describe |
OrmLite | Lightweight ORM java package for JDBC and Android |
Sugar | Handling Android Databases the Super Simple Way |
GreenDAO | An ORM solution for briskly mapping objects to SQLite databases |
ActiveAndroid | Persistence for Android SQLite with Active Record |
SQLBrite | Lightweight wrapper for SQLiteOpenHelper and ContentResolver |
Realm | Mobile Databases: An Alternative to SQLite and ORM |
7. Dependency Injection
name | describe |
ButterKnife | Bind Android views and callback methods to fields and methods |
Dagger2 | A fast dependency injector for Android and Java. |
AndroidAnotations | Rapid Android development. easy to maintain |
RoboGuice | Google Guice for Android |
8. Charts
name | describe |
WilliamChart | Android library for creating charts |
HelloCharts | Android chart library compatible to API8 |
MPAndroidChart | A powerful Android chart view/graphics library |
9. Background processing
name | describe |
Tape | A brisk, transactional, file-based FIFO library |
Android Priority Job Queue | A work queue dedicated to easy scheduling of tasks for Android |
10. Event Bus
name | describe |
EventBus | An Android-optimized event bus that simplifies the communication of activities, fragments, threads, services, etc. |
Otto | An enhanced event bus based on Guava |
11. Reactive programming
name | describe |
RxJava | Reactive extensions on the JVM |
RxJavaJoins | Provides Joins operation for RxJava |
RxAndroid | A responsive extension on Android that adds Android thread scheduling on top of RxJava |
RxBinding | Provides API for binding Android UI with RxJava |
Act | Reactive programming on Android |
12. Log Framework
name | describe |
Logger | Simple, beautiful and powerful logging tool for Android |
Hugo | Trigger methods annotated on debug builds for logging |
Timber | A small, extensible logging tool |
13. Test Framework
name | describe |
Mockito | Mocking unit testing framework written in Java |
Robotium | Android UI testing |
Robolectric | Android unit testing framework |
Android comes with many testing tools: JUnit, Monkeyrunner, UiAutomator, Espresso, etc.
14. Debugging framework
name | describe |
Stetho | A bridge to debug Android apps, making it possible to debug with Chrome DevTools |
15. Performance optimization
name | describe |
LeakCanary | Memory leak detection tool |
ACRA | Android app crash report |