Some third-party libraries used by a tens of millions of apps

Source: Internet
Author: User
Tags sqlite database

reprint: http://www.jianshu.com/p/dc8c05cf693d. background

Some time ago in the study of third-party push services, the anti-compilation of some of the more popular apps on the market. One of them, whether in design or functionality is typical, the total number of users of the app over tens of millions (its official website data), in the domestic mobile phone assistant on the support rate of over 97%. See how popular it is (the app's name doesn't say it). The use of third-party libraries is also representative after the app has been recompiled. Here is a description of these third-party libraries they use to give some reference to the children's shoes.

1.Android Design Support Library

This is not a third-party library, is the official Google Support Library. The reason is listed in addition to the above said the app has to use it, more because the library is very powerful ~

This library is very much related to many open source projects on GitHub, many of the effects of material design, the same effect on GitHub has too many implementations, and now the official part of the effect of standardization.
Note that this is not to be confused with the Compatibility library Android support Library, although all are compatible libraries, but the difference is still very large.
Android Design Support Library Detailed introduction point here
Android support Library Official document translation

2. Butterknife

This library should be familiar to everyone, Daniel Jakewharton's works, GitHub on the number of star over 10,000, it can be seen popularity.

This open source library allows us to liberate from a large number of Findviewbyid () and Setonclicktlistener (), with minimal impact on performance, The implementation of its custom annotations is limited to retentionpolicy.class, that is, annotations are valid until the. CLASS file is compiled, and do not consume additional performance at run time.

Instead of slow reflection, code is generated to perform the view look-ups. Calling bind delegates to this generated code so can see and debug.

Some people think that the use of the library code after the readability of a few, this really do not agree, on the contrary, the use of the code after the amount of a lot less, more refreshing and concise.

Questions about the efficiency of compile-time annotations you can look at the two or three things you need to know about Java compile-time annotations in this article. To relieve your concern!

This library works with Android-butterknife-zelezny on Android studio for more acid-cool!

3.fastjson,gson

The two JSON serialization and deserialization library should be familiar with, Fastjson is Ali, Gson is Google, the basic functions are similar, as to why two libraries appear in this app, should be the app version of the various developers use different habits, It is also possible that some of the third-party libraries used depend on one of the reasons.

The point here is that Fastjson is known as the fastest JSON library in the Java language, and has a compact and optimized version for Android, which is nearly half the size. Because of the larger size, the rationale for abandoning Fastjson to avoid 64K method limits should no longer be established. Fastjson Android version

But perhaps because Gson is Google official out, document what also more detailed, Gson in the app appear frequency or higher.

4.picasso

A powerful image downloading and caching library for Android

This is a powerful image download and cache library for square open source. Very popular, many projects have been using this library. The way of use is also very simple.

About the picture loading library is now more popular glide and fresco.

Glide
Google employee private projects, Google many projects are in use. Picasso can do it, and it also supports GIF. I also use this library in my company's projects. Note, however, that the ID of the ImageView setting tag must be explicitly specified when using this library to load images to ImageView.

About Glide and Picasso This translation has a more detailed comparison of Glide VS Picasso (intended to use Glide words Note the comments under this article)

Fresco
This is a Facebook open source project with detailed Chinese documentation on the link. This library in addition to the support of the image format is very wide, the biggest feature is in memory optimization this block, the use of this library can effectively prevent the occurrence of oom situation.

Under 5.0 systems, the bitmap cache is located in Ashmem so that bitmap object creation and deallocation will not cause a GC, and fewer GC will make your app run smoother.
5.0 and above systems, in contrast, memory management has been greatly improved, so the bitmap cache is located directly on the Java heap.
When the app is running in the background, the memory is emptied.

However, the library's non-mainstream powerful features make the library volume 2 m large, it is also a bit inconvenient to use.

Finally, if you are still using the old library of Android-universal-image-loader, it is recommended to replace it as soon as possible, the library has stopped updating. And no matter the experience or performance of the above library is good.

Really has no time for development ... so I stop project maintaining since Nov:(

5.PullZoomView

An Android custom ListView and ScrollView with a pull to zoom-in.

That's straight up.


PullZoomView.gif6.SwipeBackLayout

An Android library that is help for the build app with the swipe back gesture.

A library that can help us easily realize the right slide exit function of the current page, this library is also used in our company's projects, but it took a lot of time to deal with the compatibility issues (the time will be filled with the pit to share).

It is necessary to mention the viewdraghelper, a very useful tool class used by the library in gesture processing.

Viewdraghelper is a utility class for writing custom viewgroups. It offers a number
of useful operations and state tracking for allowing a user to drag and reposition
Views within their parent viewgroup.

Specifically you can look at this article Android Viewdraghelper fully parse custom ViewGroup artifact


SwipeBackLayout.png7.okhttp Okio

This library is also a Web request library for Square Open source (Okhttp internal dependency Okio). It is said to have been used by Google in the Android source code, it can be seen strong.

There's a great god Zhang Hongyang Open source okhttp Package Library Okhttp-utils

As for the network request library, there should be a lot of people using android-async-http now. His internal use is httpclient, but Google seems to have removed the HttpClient-related API in version 6.0, which shows that the library is now a bit outdated.

But I found this on Android-async-http's official wiki:


Android-async-http_wiki.png8.volley

This library should also be familiar with, Google official out of a library, including network requests and image loading cache function. There are advantages in dealing with small, frequent network requests.

Using this library in the past generally adds third-party dependencies, such as Android-volley. Now there are official gradle to rely on.

Compile ' com.android.volley:volley:1.0.0 '

9.PagerSlidingTagStrip

Interactive Paging indicator widget, compatible with the Viewpager from the Android support Library.

This library is also widely used to achieve the effect of viewpage and top indicator linkage sliding.


Pagerslidingtabstrip.png10.android-pickerview

Pickerview controls that mimic iOS, with time selection and option selection and support for 123-level linkage effects

The author of this library and several other open source libraries are also very good, interested can click on the above link to his github to see.


Pickerdemo.gif11.packer-ng-plugin

Next-generation Android packaging tool, 1000 channel pack only 5 seconds

The author of this library, Mcxiaoke, will also appear below.

12.NineOldAndroids

Android library for using the Honeycomb animation API on all versions of the platform back to 1.0!

Nineoldandroids is deprecated. No New development'll be taking place. Existing versions would (of course) continue to function. New applications should use minsdkversion= "+" or higher which have access to the platform animation APIs.
Thanks for all your support!

View's property animations are supported in Android API 11 and beyond, and the purpose of this library is to make it possible for systems under API 11 to use property animations as well. But the library author Jake Wharton (yes, again the Great God) thinks that the minimum version supported by the app now should be 4.0, so it's no longer updated.

13.Logger

Simple, pretty and powerful logger for Android

As the author said, a simple, beautiful, powerful log printing tool.


Custom-tag.png14.materialish-progress

A Material style Progress wheel compatible with 2.3


Spinningwheel.gif15. Seven KN

Seven Qiniu storage, is a data management platform designed for developers of the mobile era, providing online hosting, transmission acceleration, and rich media cloud processing services such as images, audio and video for internet websites and mobile apps. (from Baidu Encyclopedia)

When it comes to the data management platform, I can't help but think of Leancloud, the university that will be completed with the use of it, the document is very friendly to the developer and has been very impressive.

16.shareSDK

SHARESDK is a component that provides social functionality for iOS and Android apps, helping developers to socialize, sign in, focus, get user profiles, get a list of friends, and more.

17. Friend League +

This should be the use of the Friends of the Data Analysis Services and Automatic Update Services, but note that the Automatic Update service has issued a statement to stop the newly registered app and currently no longer use the feature of the app access to the service, already in use after October 15, 2016 also to stop service.

18.ViewPagerIndicator

Paging indicator widgets compatible with the Viewpager from the Android support Library and Actionbarsherlock.

The author of this Library is Jake Wharton (or the Great God), with functions similar to the pagerslidingtagstrip described above, typically used in combination with Viewpager. Usage See here


Viewpagerindicator.png19. Xiaomi push

Xiaomi push service supports all Android platforms and is part of the system service Framework on MIUI, sharing system-level long connections.

Shared system-level connections can be understood in theory, regardless of whether the application is running in the background, as long as there is a network, you can receive the push. This should be an important reason for the app to choose Xiaomi Push. On MIUI systems, there is a congenital advantage over other third-party pushes.

20.greenDAO

Greendao is a light & fast ORM solution for Android, maps objects to SQLite databases. Being highly optimized for Android, Greendao offers great performance and consumes minimal memory.

Greendao has a significant performance advantage in all ORM libraries that map objects to the SQLite database. And the documentation is very detailed.

But recently there's a relatively fire cross-platform mobile database engine realm that supports iOS, OS X (Objective-c and Swift), and Android. Performance is better than native SQLite. The goal is to replace SQLite. Can pay more attention to the next.

Realm is a mobile database:a replacement for Core Data & SQLite

21.CircleImageView

A widely used circular picture library


CircleImageView.png22.Crouton

I won ' t do any active development for crouton. But I still does accept pull requests that fix bugs.
So long, and thanks for all the forks.

This library function is similar to Snackbar, because the official has been out of Snackbar, so the author stopped continuing to update the library.

About the usage of snackbar see here

23.BarcodeScanner

Android library projects that provides easy-to-use and extensible Barcode Scanner-based on ZXing and Zbar.
An easy-to-use and extensible barcode Scanning Library based on zxing and Zbar


Scanner.png24.Rxjava

Since last year, Rxjava+ 's article has been in the domestic web site a variety of brush screen, and recently saw a company recruiting direct requirements familiar with the use of RXJAVA+RETROFIT+OKHTTP3, visible its popularity. Although the study cost of this library is a bit large, fortunately, the study material of it is very rich now.

A lot of RxJava beginners should have seen this article about throwing things to the Android developer's RxJava.
There are also the documents in the Mcxiaoke organization translation Reactivex/rxjava The Chinese version of the document mentioned above.

25.PhotoView

Implementation of ImageView for Android this supports zooming, by various touch gestures.

Supported by a variety of gestures to zoom the image of a library, now a lot of apps are used in this library, very popular.

At last

These are the vast majority of third-party libraries used in this excellent app. Hope to help you!

Some third-party libraries used by a tens of millions of apps

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.