Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.
It supports fetching, decoding, and displaying video stills, images, and animated GIFs. It includes a flexible API that allows developers to plug into almost any network stack. By default, Glide uses a custom HttpUrlConnection based stack, but also includes utility libraries plug into Google’s Volley project or Square’s OkHttp library instead.
Its primary focus is on making scrolling any kind of a list of images as smooth and fast as possible, but it is also effective for almost any case where you need to fetch, resize, and display a remote image.
Glide 4.11 was released.
- Add a thread timeout for Glide’s threads to reduce memory when Glide is infrequently used in an application (db3acef)
- Add getters to Bitmap Pool for cache statistics (1382e56, thanks to vtsuei@)
- Add methods to concurrent integration libraries that allow releasing resources back to Glide’s pool (277765705)
- Allow decoding videos from ByteBuffers so that remote videos can be decoded when using a disk cache strategy other than the default (9190698, #4021)
- Improve ModelLoader error text (83ba102)
- Fix errors with thumbnail loaders that could cause flashing to placeholders (690f815)
- Fix an exception using Arrays.addAll on some devices/versions of Android (42d3f07)
- Work around framework bug that breaks heic/heif decoding on Android Q for applications that opt in to legacy storage or request ACCESS_MEDIA_LOCATION (1c51b24)
- Improve hardware bitmap use on P+ where more file descriptors are available (e8c841c)
- Avoid removing caller added listeners in GlideFutures (0acd87c)
- Avoid propagating unexpected callbacks from cancelled or failed model loaders (7e750ca)
- Switch to the support exif library to avoid spurious logs (bd6f894, #3851)
- Fix deadlock when recursively clearing resources, typically GIFs (100ac4a)
- Allow decoding files via FileDescriptors when all other types fail so that files with headers exceeding the buffer size can be decoded (typically DNGs with metadata at the end of the file (9281d8e, thanks to timurrrr@)