Skip to content

Frequently Asked Questions

Jeff Davidson edited this page Nov 5, 2018 · 9 revisions

Why doesn't Volley support large downloads/uploads?

Volley is not suitable for large download or streaming operations, since Volley holds all requests and responses in memory during parsing. For large download operations, consider using an alternative like DownloadManager.

This also explains why Volley will run out of memory if you try to use it for a large request/response, and why Volley doesn't expose an API to get the progress of an individual in-flight request.

This decision is fundamental to Volley's architecture, as it simplifies the API for most operations which have small requests/responses, and cannot be changed to support streaming.

Why are network requests failing when I set targetSdkVersion = 28 (Android P) or higher?

Android as a whole has disabled cleartext requests - that is, those using HTTP but not HTTPS - by default for any app which sets targetSdkVersion to 28 or higher. This is not specific to Volley; it applies to any network requests your app may be making.

If migrating to HTTPS-only requests is not an option for your use case, please see the network security configuration documentation for how to whitelist some or all cleartext HTTP requests for your app.

Clone this wiki locally