摘要:最佳解析最佳解析最佳解析是一個(gè)依賴注入框架,由谷歌開發(fā),最早的版本由公司開發(fā)。在對的介紹中指出,即,這里的即數(shù)據(jù)結(jié)構(gòu)中的有向無環(huán)圖。也就是說,是一個(gè)基于有向無環(huán)圖結(jié)構(gòu)的依賴注入庫,因此的使用過程中不能出現(xiàn)循環(huán)依賴。
在開發(fā)過程中使用過很多優(yōu)秀框架,比如網(wǎng)絡(luò)的okhttp,圖片的Fresco,注入的Gagger2等,都是非常優(yōu)秀的框架。
所以今天在此介紹下至今本人知道的一些比較流行主流且很優(yōu)秀的框架。
根據(jù)上圖我們依次說明:
DiskLruCache硬盤緩存最佳方案(Google提供的一套硬盤緩存的解決方案:DiskLruCache(非Google官方編寫,但獲得官方認(rèn)證))
DiskLruCache 最佳解析
Universal Image LoaderUIL aims to provide a powerful, flexible and highly customizable instrument for image loading, caching and displaying. It provides a lot of configuration options and good control over the image loading and caching process.
Universal Image Loader 最佳解析
PicassoA powerful image downloading and caching library for Android
Picasso 最佳解析
Facebook FrescoFresco 是一個(gè)強(qiáng)大的圖片加載組件。 Fresco 中設(shè)計(jì)有一個(gè)叫做 image pipeline的模塊。它負(fù)責(zé)從網(wǎng)絡(luò),從本地文件系統(tǒng),本地資源加載圖片。為了最大限度節(jié)省空間和CPU時(shí)間,它含有3級緩存設(shè)計(jì)(2級內(nèi)存,1級文件)。 Fresco中設(shè)計(jì)有一個(gè)叫做 Drawees 模塊,方便地顯示loading圖,當(dāng)圖片不再顯示在屏幕上時(shí),及時(shí)地釋放內(nèi)存和空間占用。Fresco 支持Android2.3(API level 9) 及其以上系統(tǒng)。
Facebook Fresco 最佳解析
Glide在泰國舉行的谷歌開發(fā)者論壇上,谷歌為我們介紹了一個(gè)名叫 Glide 的圖片加載庫,作者是bumptech。 這個(gè)庫被廣泛的運(yùn)用在google的開源項(xiàng)目中,包括2014年google I/O大會上發(fā)布的官方app。
Glide 最佳解析
Asynchronous Http Client for AndroidAn asynchronous, callback-based Http client for Android built on top of Apache"s HttpClient libraries.
Asynchronous Http Client for Android 最佳解析
AndroidAsyncAndroidAsync is a low level network protocol library. If you are looking for an easy to use, higher level, Android aware, http request library, check out Ion (it is built on top of AndroidAsync). The typical Android app developer would probably be more interested in Ion.
AndroidAsync 最佳解析
OkHttp3OkHttp是一個(gè)高效的Http客戶端,有如下的特點(diǎn): 支持HTTP2/SPDY黑科技 socket自動選擇最好路線,并支持自動重連 擁有自動維護(hù)的socket連接池,減少握手次數(shù) 擁有隊(duì)列線程池,輕松寫并發(fā) 擁有Interceptors輕松處理請求與響應(yīng)(比如透明GZIP壓縮,LOGGING) 基于Headers的緩存策略
OkHttp3 最佳解析
RetrofitA type-safe REST client for Android and Java
Retrofit 最佳解析
VolleyAndroid Volley是Google開發(fā)的一個(gè)網(wǎng)絡(luò)lib,可以讓你更加簡單并且快速的訪問網(wǎng)絡(luò)數(shù)據(jù)。Volley庫的網(wǎng)絡(luò)請求都是異步的,你不必?fù)?dān)心異步處理問題。 Volley的優(yōu)點(diǎn): 請求隊(duì)列和請求優(yōu)先級 請求Cache和內(nèi)存管理 擴(kuò)展性性強(qiáng) 可以取消請求
Volley 最佳解析
google-gsonGson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of.
Gson 最佳解析
JacksonThis is the home page of the Jackson Project, formerly known as the standard JSON library for Java (or JVM platform in general), or, as the "best JSON parser for Java." Or simply as "JSON for Java." More than that, Jackson is a suite of data-processing tools for Java (and the JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, Protobuf, XML or YAML; and even the large set of data format modules to support data types of widely used data types such as Joda, Guava and many, many more. While the actual core components live under their own projects -- including the three core packages (streaming, databind, annotations; data format libraries; data type libraries; JAX-RS provider; and a miscellaneous set of other extension modules -- this project act as the central hub for linking all the pieces together.
Jackson 最佳解析
fastjsonFastjson是一個(gè)Java語言編寫的JSON處理器,由阿里巴巴公司開發(fā)。 1、遵循h(huán)ttp://json.org標(biāo)準(zhǔn),為其官方網(wǎng)站收錄的參考實(shí)現(xiàn)之一。 2、功能qiang打,支持JDK的各種類型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。 3、無依賴,不需要例外額外的jar,能夠直接跑在JDK上。 4、開源,使用Apache License 2.0協(xié)議開源。http://code.alibabatech.com/wiki/display/FastJSON/Home 5、具有超高的性能,java世界里沒有其他的json庫能夠和fastjson可相比了。
fastjson 最佳解析
HTML ParserHTML Parser is a Java library used to parse HTML in either a linear or nested fashion. Primarily used for transformation or extraction, it features filters, visitors, custom tags and easy to use JavaBeans. It is a fast, robust and well tested package.
HTML Parser
jsoupjsoup 是一款Java 的HTML解析器,可直接解析某個(gè)URL地址、HTML文本內(nèi)容。 它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)。
jsoup
ORMLite暫缺,歡迎補(bǔ)充
ORMLite 最佳解析
SugarInsanely easy way to work with Android Databases.
Sugar 最佳解析
greenDAOgreenDAO is a light & fast ORM for Android that maps objects to SQLite Being highly optimized for Android, greenDAO offers great and consumes minimal memory.
greenDAO 最佳解析
ActiveAndroidActiveAndroid is an active record style ORM (object relational mapper). What does that mean exactly? Well, ActiveAndroid allows you to save and retrieve SQLite database records without ever writing a single SQL statement. Each database record is wrapped neatly into a class with methods like save() and delete().
ActiveAndroid 最佳解析
SQLBriteA lightweight wrapper around SQLiteOpenHelper and ContentResolver which introduces reactive stream semantics to queries.
SQLBrite 最佳解析
RealmRealm 是一個(gè)跨平臺的移動數(shù)據(jù)庫引擎,于 2014 年 7 月發(fā)布,準(zhǔn)確來說,它是專門為移動應(yīng)用所設(shè)計(jì)的數(shù)據(jù)持久化解決方案之一。
Realm 最佳解析
Butter KnifeField and method binding for Android views which uses annotation processing to generate boilerplate code for you.
Butter Knife 最佳解析 最佳解析(8.+)
Dagger2Dagger2 是一個(gè)Android依賴注入框架,由谷歌開發(fā),最早的版本Dagger1由Square公司開發(fā)。 依賴注入框架主要用于模塊間解耦,提高代碼的健壯性和可維護(hù)性。 Dagger這個(gè)庫的取名不僅僅來自它的本意“匕首”,同時(shí)也暗示了它的原理。 Jake Wharton 在對 Dagger 的介紹中指出,Dagger 即DAG-er,這里的 DAG 即數(shù)據(jù)結(jié)構(gòu)中的 DAG——有向無環(huán)圖(Directed Acyclic Graph)。 也就是說,Dagger是一個(gè)基于有向無環(huán)圖結(jié)構(gòu)的依賴注入庫,因此Dagger的使用過程中不能出現(xiàn)循環(huán)依賴。
Dagger2 最佳解析
AndroidAnnotationsAndroidAnnotations is an Open Source framework that speeds up Android 1,It takes care of the plumbing, and lets you concentrate 2,what"s really important. By simplifying your code, it facilitatesits maintenance.
AndroidAnnotations Wiki
RoboGuice 3RoboGuice 3 smoothes out some of the wrinkles in your Android development experience and makes things simple and fun. Do you always forget to check for null when you getIntent().getExtras()? RoboGuice 3 will help you. Think casting findViewById() to a TextView shouldn’t be necessary? RoboGuice 3 is on it.
RoboGuice3 最佳解析
WilliamChartWilliamChart is an Android Library to help the implementation of charts in android applications. For the ones that would like to contribute, my idea is not only to implement the conventional chart features but instead something that could be pleasant and intuitive while representing and visualizing data. I would prefer to keep charts simple and clean rather than overfeatured.
WilliamChart 最佳解析
HelloCharts for AndroidCharting library for Android compatible with API 8+(Android 2.2). Works best when hardware acceleration is available, so API 14+(Android4.0) is recommended. Apache License 2.0.
HelloCharts for Android 最佳解析
MPAndroidChartMPAndroidChart是一款基于Android的開源圖表庫,MPAndroidChart不僅可以在 Android設(shè)備上繪制各種統(tǒng)計(jì)圖表,而且可以對圖表進(jìn)行拖動和縮放操作,應(yīng)用起來非常靈活。 MPAndroidChart同樣擁有常用的圖表類型:線 型圖、餅圖、柱狀圖和散點(diǎn)圖。
MPAndroidChart 最佳解析
TapeTape是速度非快,事務(wù)性,基于文件的FIFO。用于Android和Java平臺。
Tape
Android Priority Job QueueAndroid Priority Job Queue是一款專門為Android平臺編寫,實(shí)現(xiàn)了Job Queue的后臺任務(wù)隊(duì)列類庫,能夠輕松的在后臺執(zhí)行定時(shí)任務(wù),提高用戶體驗(yàn)和應(yīng)用的穩(wěn)定性。
Android Priority Job Queue
EventBusEventBus是一個(gè)Android端優(yōu)化的publish/subscribe消 息總線,簡化了應(yīng)用程序內(nèi)各組件間、組件與后臺線程間的通信。 比如請求網(wǎng)絡(luò),等網(wǎng)絡(luò)返回時(shí)通過Handler或Broadcast通知UI,兩個(gè) Fragment之間需要通過Listener通信,這些需求都可以通過EventBus實(shí)現(xiàn)。
EventBus 最佳解析
OttoAn enhanced Guava-based event bus with emphasis on Android support. Otto is an event bus designed to decouple different parts of your application while still allowing them to communicate efficiently. Forked from Guava, Otto adds unique functionality to an already refined event bus as well as specializing it to the Android platform.
Otto 最佳解析
RxAndroid: Reactive Extensions for AndroidAndroid specific bindings for RxJava. This module adds the minimum classes to RxJava that make writing reactive components in Android applications easy and hassle-free. More specifically, it provides a Scheduler that schedules on the main thread or any given Looper.
RxAndroid 最佳解析
RxBindingRxJava binding APIs for Android UI widgets from the platform and support libraries.
RxBinding 最佳解析
AgeraAgera is a set of classes and interfaces to help write functional, asynchronous, and reactive applications for Android.
Agera 最佳解析
LoggerSimple, pretty and powerful logger for android Logger provides : Thread information Class information Method information Pretty-print for json content Pretty-print for new line " " Clean output Jump to source
Logger
HugoAnnotation-triggered method call logging for your debug builds.
Hugo
TimberThis is a logger with a small, extensible API which provides utility on top of Android"s normal Log class.
Timber
MockitoTasty mocking framework for unit tests in Java
Mockito 最佳解析
RobotiumRobotium是一款國外的Android自動化測試框架,主要針對Android平臺的應(yīng)用進(jìn)行黑盒自動化測試,它提供了模擬各種手勢操作(點(diǎn)擊、長按、滑動等)、查找和斷言機(jī)制的API,能夠?qū)Ω鞣N控件進(jìn)行操作。
Robotium
RobolectricRobolectric is a testing framework that de-fangs the Android SDK so you can test-drive the development of your Android app.
Robolectric 最佳解析
StethoStetho is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools feature natively part of the Chrome desktop browser. Developers can also choose to enable the optional dumpapp tool which offers a powerful command-line interface to application internals.
Stetho 最佳解析
LeakCanaryA memory leak detection library for Android and Java.
LeakCanary 最佳解析
ACRAACRA is a library enabling Android Application to automatically post their crash reports to a GoogleDoc form. It is targeted to android applications developers to help them get data from their applications when they crash or behave erroneously.
ACRA Wiki
至此,結(jié)束,如果有哪里寫錯(cuò)的或者有什么疑問歡迎回帖,我看到后會第一時(shí)間回復(fù)。
by anonymous
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/61794.html
摘要:掘金日報(bào)第四期使用怎么能不知道這些插件合集掘金日報(bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分前端后端產(chǎn)品設(shè)計(jì)工具資源和一些有趣的東西。目前已經(jīng)涵蓋了的相關(guān)資源鏈接,供大家參考與學(xué)習(xí)。 【掘金日報(bào)】第四期 使用Sublime?怎么能不知道這些 Sublime 插件合集! 掘金日報(bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分:前端、后端、Android、iOS、產(chǎn)品設(shè)計(jì)、工具資源和一些有趣的東西。 前端...
摘要:掘金日報(bào)第四期使用怎么能不知道這些插件合集掘金日報(bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分前端后端產(chǎn)品設(shè)計(jì)工具資源和一些有趣的東西。目前已經(jīng)涵蓋了的相關(guān)資源鏈接,供大家參考與學(xué)習(xí)。 【掘金日報(bào)】第四期 使用Sublime?怎么能不知道這些 Sublime 插件合集! 掘金日報(bào)主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分:前端、后端、Android、iOS、產(chǎn)品設(shè)計(jì)、工具資源和一些有趣的東西。 前端...
摘要:然而這次的文章,就像賀師俊所說的這篇文章是從程序員這個(gè)老年度總結(jié)前端掘金年對我來說,是重要的一年。博客導(dǎo)讀總結(jié)個(gè)人感悟掘金此文著筆之時(shí),已經(jīng)在眼前了。今天,我就來整理一篇,我個(gè)人認(rèn)為的年對開發(fā)有年終總結(jié)掘金又到 2016 Top 10 Android Library - 掘金 過去的 2016 年,開源社區(qū)異常活躍,很多個(gè)人與公司爭相開源自己的項(xiàng)目,讓人眼花繚亂,然而有些項(xiàng)目只是曇花一...
閱讀 3235·2021-11-23 09:51
閱讀 2480·2021-09-27 13:34
閱讀 2464·2021-09-08 09:45
閱讀 662·2019-08-30 15:44
閱讀 3493·2019-08-29 12:17
閱讀 2759·2019-08-26 12:18
閱讀 2622·2019-08-26 10:10
閱讀 3078·2019-08-23 18:02