Glide 是一个 Android 上的图片加载和缓存库,其目的是实现平滑的图片列表滚动效果。
Glide 3.4.0 发布,此版本现已提供下载,包括大量新特性和 bug 修复。此版本最值得关注的是动态 GIFs,可以通过 GifDecoder 来对 GIFs 进行解码,修复了相关的一些小问题,比如渲染和解码通道的问题。
更多内容请看 milestone。
完整改进记录:
新特性
Allow RequestBuilders to be re-used for multiple loads by introducing the .from() and .clone() APIs. These APIs allow users to set options on a request builder once, pass the builder to their adapters, and then start multiple loads with the single builder (#182).
Add a method to GlideBuilder to set a global decode format (#177), see the configuration wiki.
Add a .preload() API to allow preloading media into memory (#169).
Add a .signature() API to allow users to easily mix in additional data to cache keys, giving users more control over cache invalidation (#178, #179), see the cache invalidation wiki.
Add a Glide.preFillBitmapPool() API to allow pre-filling the BitmapPool to avoid jank from allocations after app startup (#93).
Allow recursive calls to thumbnail() to load an arbitrary number of different sized thumbnails for a single Target (#149).
Allow thumbnail() to load model and data types that are different than those of the parent (#107).
Transformations are now only applied once and no longer have to be idempotent (#112).
Build/Infrastructure
PMD/Findbugs (#164)
Jacoco/Coveralls with 85% test coverage (34f797b).
Standard import order (f7a6d65).
Bugs 修复
性能
Avoid allocating large byte arrays in BufferedInputStream (#225).
Use downsampled image size when obtaining Bitmaps from the pool (#224).
GIFs
Avoid a crash causing race decoding multiple frames with the same GifDecoder (#212).
Always use ARGB_8888 to prevent null GIF frames on some versions of Android that don’t support ARGB_4444 (#216).
Fix partially decoded GIF frames (appears as grey or transparent noise in frames) (#207, #204).
Set a default frame delay for GIFs which do not specify a frame delay, or specify an overly short frame delay (#205).
More robust GIF decoding logic, including a fix for decoding only the first few rows of certain GIFs (#203).
Allow fade in/cross fade animations by ensuring that the first frame of GIFs is decoded before the GIF is returned (#159).
Fix GIFs always appearing transparent pre KitKat (#199).
Memory
Fix a memory leak when Glide is first called in an Activity (#210).
Transformations
Fix underdraw in FitCenter causing noise along the sides of certain images (#195).
Maintain transparency during bitmap transformations (#156).
Caching
Fixed Drawables being cached only be integer resource id which can change and/or overlap after subsequent compilations (#172).
Uris
Fix failure to detect certain types of file Uris (#161).
其他
Fix concurrency bugs resulting in incorrect assertions being thrown when loads were started on multiple threads (#191, #181).
Fix BitmapRequestBuilder not setting the decode format on the cache decoder when format() is called (#187).
Fix an assertion in ViewTarget related to restarting requests (#167).
Fix Glide.with() throwing pre Honeycomb when given non-support Activities (#158).
Avoid using Closeable interface when loading ParcelFileDescriptors on 4.1.1 or earlier (#157).
Fix an NPE in Bitmap#getAllocationByteCount() due to a framework bug in the initial release of KitKat (#148).
软件详情:https://github.com/bumptech/glide/issues?q=milestone%3A3.4+is%3Aclosed
下载地址:https://github.com/bumptech/glide/archive/v3.4.0.zip
来自:开源中国社区

