The first time to see my article friends, you can follow, like, forward, every day to share a variety of dry technology and program ape fun
A, volley
(1) Asynchronous downloading of JSON and images;
(2) Network request scheduling
(3) Priority processing of network requests
(4) cache
(5) Multi-level cancellation request
(6) Interworking with the Activity and lifecycle (cancel all network requests at the end of the Activity)
Second, the android – async – HTTP
(1) Process the result of the request in an anonymous callback
(2) Make HTTP requests outside the UI thread
(3) File breakpoint upload
(4) Intelligent retry
(5) Default gzip compression
(6) Support parsing into Json format
(7) Persistent Cookies to SharedPreferences
3. Afinal Framework
There are four main modules:
(1) Database module: THE ORM framework in Android uses the thread pool to operate SQLite.
(2) Annotation module: IOC framework in Android. UI binding and event binding can be carried out in a completely annotation way. No findViewById, setClickListener, etc.
(3) network module: HTTP data request encapsulation through HttpClient, support ajax loading, support download, upload file function.
(4) Image cache module:
-
With FinalBitmap, imageView loads bitmap without considering oom and image misplacement during bitmap loading.
-
FinalBitmap can configure the number of threads to load, cache size, cache path, load display animation, etc. FinalBitmap’s memory management uses the LRU algorithm
-
Weak references are not used (Google does not recommend using weak references after Android 2.3. Soft references and weak references are forcibly recycled after Android 2.3. See android official documentation for details)
-
Better manage bitmap memory. FinalBitmap allows custom downloaders to be used to extend other protocols to display network images, such as FTP. You can also customize the Bitmap display
-
Plays animation etc. while imageView displays the image (default is gradient animation).
XUtils framework
There are four main modules:
(1) Database module:
-
Android ORM framework, a line of code can be added, deleted, changed and checked
-
Supports transactions and is disabled by default
-
You can annotate table names, column names, foreign keys, uniqueness, NOT NULL, CHECK, etc.
-
Supports binding foreign keys. When saving entities, entities associated with foreign keys are automatically saved or updated.
-
Automatic loading of foreign key associated entities, supporting delayed loading
-
Support for chaining expression of queries with more intuitive query semantics, refer to the following introduction or sample examples
(2) Annotation module:
Ioc framework in Android, fully annotated way can be UI, resource and event binding;
The new event binding method, using the obfuscation tool obfuscation can still work properly;
Currently, 20 commonly used event bindings are supported
(3) Network module:
-
Support synchronous and asynchronous requests;
-
Support large file upload, upload large files will not oom;
-
Support GET, POST, PUT, MOVE, COPY, DELETE, HEAD, OPTIONS, TRACE, CONNECT requests;
-
Download support for 301/302 redirection and support for setting whether to rename downloaded files according to Content-Disposition;
-
Requests that return text content (only GET requests are enabled by default) support caching and you can set the default expiration time and expiration time for the current request.
(4) Image cache module:
-
When loading bitmap, there is no need to consider oom and image dislocation in the process of loading Bitmap and Android container rapid sliding.
-
Support to load network pictures and local pictures;
-
Memory management using LRU algorithm, better manage bitmap memory;
-
Configurable thread loading thread number, cache size, cache path, loading display animation, etc…
Fifth, ThinkAndroid
The main modules are as follows:
(1) MVC module: realize the separation of view and model.
(2) IOC module: IOC module in Android, which can fully annotate UI binding, resource reading in RES, and object initialization.
(3) Database module: THE ORM framework in Android uses the thread pool to operate SQLite.
(4) HTTP module: HTTP data request encapsulation through httpClient, support asynchronous and synchronous loading.
(5) Cache module: cache can be well realized through simple configuration and design, and can be randomly configured for cache
(6) Image cache module: When imageView loads images, there is no need to consider oom in the loading process and image dislocation when Android container slides quickly.
(7) Configurator module: it can easily realize the operation of pairing configuration. At present, Preference and Properties are supported to access the configuration.
(8) Log printing module: can quickly and easily realize log printing, support the expansion of log printing, currently support sdcard to write local printing, as well as console printing
(9) Download module: can simply realize multithreaded download, background download, breakpoint continuation, download control, such as start, pause, delete and so on.
(10) Network status detection module: when the network status changes, check it
Six, LoonAndroid
The main modules are as follows:
(1) Automatic injection framework (only need to inherit the application within the framework)
(2) Picture loading framework (multiple cache, automatic recovery, maximum memory security)
(3) Network request module (inheriting basically all current HTTP requests)
(4) EventBus (Integrate an open source framework)
(5) Verification framework (integrated open source framework)
(6) JSON parsing (support parsing into collections or objects)
(7) Database (I don’t know who wrote it but forgot)
(8) Multi-thread breakpoint download (automatically determine whether to support multi-thread, determine whether to redirect)
(9) Automatically update modules
(10) A series of tool classes