设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

Glide 3.4.0发布,Android的媒体管理库

2014-11-10 16:14| 发布者: joejoe0332| 查看: 670| 评论: 0|原作者: oschina|来自: oschina

摘要:   Glide 是一个 Android 上的图片加载和缓存库,其目的是实现平滑的图片列表滚动效果。  Glide 3.4.0 发布,此版本现已提供下载,包括大量新特性和 bug 修复。此版本最值得关注的是动态 GIFs,可以通过 GifDecod ...

  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).

1
2
3
4
5
6
7
8
9
10
// In your Activity/Fragment@Overridepublic void onCreate(Bundle savedInstanceState) {    DrawableRequestBuilder requestBuilder = 
        Glide.with(this)
           .from(String.class)
           .placeholder(R.drawable.spinner)
           .centerCrop()
           .crossFade();
    mAdapter = new MyAdapter(requestBuilder);
}// In your Adapter@Overridepublic View getView(int position, View convertView, ViewGroupParent parent) {    ...
   mRequestBuilder.load(myUrls.get(position)).into(convertView);
}
1
2
Glide.setup(new GlideBuilder(context)
    .setDecodeFormat(DecodeFormat.ALWAYS_ARGB_8888));
  • Add a .preload() API to allow preloading media into memory (#169).

1
2
3
Glide.with(fragment)
    .load(url)
    .preload(width, height);
  • 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.

1
2
3
4
Glide.with(fragment)
    .load(url)
    .signature(new StringSignature("Version1"))
    .into(view);
  • Add a Glide.preFillBitmapPool() API to allow pre-filling the BitmapPool to avoid jank from allocations after app startup (#93).

1
2
Glide.get(context)
    .preFillBitmapPool(new PreFillType.Builder(mySize));
  • Allow recursive calls to thumbnail() to load an arbitrary number of different sized thumbnails for a single Target (#149).

1
2
3
4
5
6
7
8
9
Glide.with(fragment)
    .load(myUrl)
    .thumbnail(Glide.with(fragment)
        .load(myUrl)
        .override(200200)
        .thumbnail(Glide.with(fragment)
           .load(myUrl)
           .override(5050)))
    .into(myView);
  • 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 whenformat() 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).


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部