- Add an API to pause all requests for a given
Activity
orFragment
to allow callers to manually reduce memory when their Fragment or Application is backgrounded (@kurtisnelson, 09e33a2133eb1d4005b227439c0c53c9c4e8c89b) - Fully support Bitmap re-use for
RGBA_F16
Bitmap
s. Previously Glide supported decodingRGBA_F16
Bitmap
s, but would not re-use any stored in theBitmapPool
when doing so (cc0288c3b4bfb82a109a3f279af52c57fc5e1499) - Support decoding Videos from resources as
AssetFileDescriptor
s (6e9866b5a19d06625006a9a8c605db21047df74b) - Added support for the
MediaMetadataRetriever#getScaledFrameAtTime
method added in OMR1 to marginally reduce memory usage when decoding video frames (ded8f77c9f2471e3c3413aa234656df8cf72dd2f) - Support transcoding
BitmapDrawable
s tobyte[]
s (015d2659a9ea7438ab72b94500a0921f8ff35aa3)
- Cleaned up old and incorrect
@TargetApi
annoatations (@SUPERCILEX, 67783961c71639871cc3687894976e6caeb6609e) - Added
@Nullable
and@NonNull
annotations to many of Glide's APIs (@SUPERCILEX, dc12b60c8f0a21eb9b3ab2164471c93d2e20ae25, c3dafde00a061bafcd43a739336ca3503af13a7d, 0cffd1da977e9ca334032ebc1d798213a177aab7, f541b65e596a49d252ba6b80d3b05a111ce93461, 36e0b802c3a1e564caf230b351a6438fa32100ac, 650bb7770d08b279c2a7f00e25337618da54f7f3, bd2f21595d3404e6aadf1f4333bef369509c4a56, e35a73b4e78f2f05dc5c1163b8083ac1b662b02f, f37ced1512f7eabf37f6c93b1b7ffb32c3629b72, bb96b633174184965cd1bdf9027ef3843f59c54f, 276d4ff4bdce85763c985c90a87ea5e858a1ffe4, c3107801dab8ccbe121157bee7dba29b7d9723e6, ) - Fixed a case where restarting an identical request with
skipMemoryCache(true)
would complete the load from the memory cache (#2663, 3dc1d18da75b44d8d97f4161fe0d330e4993e537) - Fixed decoding interlaced and downsampled GIFs as static images (#2698, b64f23de2a7ba38fceac1cda85f05158e80132f9)
- Added more models to the list of devices requiring a lock when decoding or drawing Bitmaps (@strooooke, #738, c809f7ec03bbfc2c529f2c211cfc644c2073aab0, e923554b10fa9625f4fa6fe706f3d5a553843ab9)
- Fixed a race condition where starting multiple loads simultaneously the first time any request is made for a given model and resource could lead to NPEs (#2708, d427cbd33206cbcc88ac4a0f0c29ef831d4bb5b5)
- Make the annotation processor tests pass on Windows (@SUPERCILEX, #2709, 2b4be8b8c210abb34740f0778434679b644a6525)
- Fix NPE and RuntimeExceptions thrown in
DefaultConnectivityMonitor
on some devices (c902730b75085cecdd40cd5817453d8af0eff4e9) - Only trim to half of the memory cache maximum size, not the current size, when background the app (@kurtisnelson, 429b7e2d9854da549eb0b852e2e08de176f05fbf)
- Fix a
StateVerifier
exception thrown whenResourceEncoder
implementations unexpectedly throw exceptions while writing resources to Glide's disk cache (6c7cf3f8cae998469a7e7df8c70c459311479a38) - Fix an NPE error message when
ResourceDrawableDecoder
fails to decode an image (d522ac7249ca1bf71f6de30e62d71a1faa8d4c4c) - Fix an
IllegalStateException
if a request using.error()
is cleared while the error request is running (#2767, 9c70aa5f92f523c6bac29628554fdde5428e0cdd) - Cleaned up a number of accessor classes generated by unnecessarily strict visibility in inner classes (@TWiStErRob, e02969417a75048af0fcb61c5fbf6ea94bd2c4aa)
- Updated OkHttp and removed a no longer necessary workaround for
ClassCastException
s thrown by the Android framework on O (#2355, 642b2dc431e54cb677088e934743d78f1ad84810) - Added missing annotations to overrides on some of Glide's generated classes (@TWiStErRob, 62d7464fb4f874897121591815ecb7503f7bc01b, 9fde00628f223e96372aeceadcb3e35a0635cb6d, d7bb6f956b34dd00ad0dbcb64f15f4b9c2fb0538)
- Avoid throwing exceptions when
LruBitmapPool
was asked to provideBitmap
s with anull
config (c1036c1cdc3c85827bf566e104a12ca880e26411)
- Default to
aar
packaging in POMs, so@aar
should no longer be required to avoid warnings about jars depending on aars (06ba3442fd8d25c943e986c2bd6c138aa4b390e3) - Default active resource retention to false (73759b9eb1d3b186c4deb6412137b0b1193fbd5d), but leave the option in
GlideBuilder
to manually enable it. Enabling active resource retention can lead to recycledBitmap
errors orBitmap
re-use bugs if applications callBitmap.recycle()
on any images loaded by Glide or mutate the contents ofBitmap
s loaded by Glide. - Treat devices with API < 19 as having
ActivityManager.isLowRam
set totrue
(#2650, b221d4bbec138efcdb1aabd07600b7df713f9e40)
- Removed deprecated constructors requiring
Context
s in most of Glide's defaultTransformation
(23975d933bcda7d136340b9988f2bd575065b667, 733b2e0f25a6d3ddbb4942172e92a9fe01c87363, 9bedc2b5fe5b1b2e05203af173c73f0e599a0177, 55594baf791ccb49dd5cdc256662360717b409bb, d8f6224d127b984c3ac1356d44f62126e4843d07, d840533448fd7bde528e0af7ce10c49653430c12, 2f76842b8ef9ac15c43a2c5175f23496b5a13f37, 144ac5374eb0bd11a8f8e92d7346dafac1426621, 150ebabbd7d5e8751c8678fa01418d1b1f1259da, 92d761d002da25320f2c504267f56d73b889b2d4, a6f1b1c1bef5b4e8be736c564792715266b07463)
- Deprecated
VideoBitmapDecoder
, use [VideoDecoder
][5] instead.
- Glide must be compiled against API 27 (@SUPERCILEX, #2730, 75c2a8b6d216013e7fbf797231839a8f4c82757a)
- Glide uses v27 of the support libraries (though v26 should work as well, to use v26 of the support library, see Glide's Android SDK requirements docs page)
- Updated to PMD 6.0.0 (@TWiStErRob, f16aef4c6ad583bafe796c7a952a0d10920c4dcd)
- Fix a PMD failure when building with --profile or any other way in which class files didn't happen to have already been compiled (@TWiStErRob, #2776, fd73179166b15af246769c9b1ae205c65c584e5b)