Perform network operations using Cronet
Stay organized with collections
Save and categorize content based on your preferences.
Cronet is the Chromium network stack made available to Android apps as a
library. Cronet takes advantage of multiple technologies that reduce the latency
and increase the throughput of the network requests that your app needs to work.
The Cronet Library handles the requests of apps used by millions of people on a
daily basis, such as
YouTube,
Google App,
Google Photos,
and Maps - Navigation & Transit.
Features
- Protocol support
- Cronet natively supports the
HTTP,
HTTP/2, and
HTTP/3 over QUIC protocols.
- Request prioritization
- The library allows you to set a priority tag for the requests. The server can
use the priority tag to determine the order in which to handle the requests.
- Resource caching
- Cronet can use an in-memory or disk cache to store resources retrieved in
network requests. Subsequent requests are served from the cache automatically.
- Asynchronous requests
- Network requests issued using the Cronet Library are asynchronous by default.
Your worker threads aren't blocked while waiting for the request to come back.
- Data compression
- Cronet supports data compression using the
Brotli Compressed Data Format.
To learn how to use the Cronet Library in your app for Android, see Send a
simple request. You can also
browse the
Cronet Sample
on GitHub.
You can send feedback about the Cronet Library using the Chromium Issue
Tracker. Check the list of bugs in the issue tracker to make
sure that your issue hasn't already been reported. If your issue hasn't been
reported, file a bug with the word Cronet in the summary line.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2023-10-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-26 UTC."],[],[],null,["# Perform network operations using Cronet\n\nCronet is the Chromium network stack made available to Android apps as a\nlibrary. Cronet takes advantage of multiple technologies that reduce the latency\nand increase the throughput of the network requests that your app needs to work.\n\nThe Cronet Library handles the requests of apps used by millions of people on a\ndaily basis, such as\n[YouTube](https://play.google.com/store/apps/details?id=com.google.android.youtube),\n[Google App](https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox),\n[Google Photos](https://play.google.com/store/apps/details?id=com.google.android.apps.photos),\nand [Maps - Navigation \\& Transit](https://play.google.com/store/apps/details?id=com.google.android.apps.maps).\n\nFeatures\n--------\n\n**Protocol support**\n: Cronet natively supports the\n [HTTP](https://tools.ietf.org/html/rfc2616),\n [HTTP/2](https://tools.ietf.org/html/rfc7540), and\n [HTTP/3 over QUIC](https://www.chromium.org/quic) protocols.\n\n**Request prioritization**\n: The library allows you to set a priority tag for the requests. The server can\n use the priority tag to determine the order in which to handle the requests.\n\n**Resource caching**\n: Cronet can use an in-memory or disk cache to store resources retrieved in\n network requests. Subsequent requests are served from the cache automatically.\n\n**Asynchronous requests**\n: Network requests issued using the Cronet Library are asynchronous by default.\n Your worker threads aren't blocked while waiting for the request to come back.\n\n**Data compression**\n: Cronet supports data compression using the\n [Brotli Compressed Data Format](https://tools.ietf.org/html/rfc7932).\n\nTo learn how to use the Cronet Library in your app for Android, see [Send a\nsimple request](/develop/connectivity/cronet/start). You can also\nbrowse the\n[Cronet Sample](https://github.com/GoogleChromeLabs/cronet-sample)\non GitHub.\n\nYou can send feedback about the Cronet Library using the [Chromium Issue\nTracker](https://crbug.com). Check the list of bugs in the issue tracker to make\nsure that your issue hasn't already been reported. If your issue hasn't been\nreported, file a bug with the word *Cronet* in the summary line."]]