android Fresco使用

  • Fresco
    优点:
    1,使用简便,学习成本低
    2,十分强大,使用起来非常流畅,内存管理不用愁,不用担心OOM。
    3,自带加载时淡入效果,开发起来不费劲.
    4,图片加载时可在布局中直接设置加载动画等等,代码量大大减少
    缺点:
    1,必须使用fresco自定义的控件,如果需求更换,想要更换其他图片加载框架会有一定的麻烦,比如必须要改布局
    2,方法数太多,多达近4k方法,对于比较大的项目来说简直是压死骆驼的最后一个稻草,整项目方法数超过65k,不 得不分包.而且打包之后整个项目整整多了3M.确实大得很.
    3,必须全套使用fresco的图片加载,否则连获取简简单单的一个缓存中的bitmap都异常费劲
    总结:
    如果自己的项目不是社交软件,涉及到特别多图片加载的话,还是慎用吧.
    当然,在我的印象中,fresco就是你项目中图片加载处理的专业管家,几乎一切繁杂的事情它都帮你处理妥当,用起来简直贴心.

简单使用:

//布局
<com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/fresco_test"
        android:layout_gravity="center"
        android:gravity="center"
        android:layout_width="60dp" android:layout_height="60dp" fresco:fadeDuration="400" //淡入时长 fresco:progressBarImage="@anim/progress_round" //图片加载时显示的动画 fresco:failureImage="@drawable/download_error" //下载失败时的图片 fresco:failureImageScaleType="fitXY" android:scaleType="fitXY" /> //代码中 Uri uri = Uri.parse(urlStr); fresco_test.setImageURI(uri);//之后的一切全交给fresco就行了

在网上查了好久的资料才在github问答中找到的,简直心酸
神奇蛋疼的获取Bitmap代码:

private Bitmap getBitmapFromCache(String url) {

    Uri uri = Uri.parse(url);
    ImagePipeline imagePipeline = Fresco.getImagePipeline();
    ImageRequest imageRequest = ImageRequest.fromUri(uri);
    DataSource<CloseableReference<CloseableImage>> dataSource =
            imagePipeline.fetchImageFromBitmapCache(imageRequest, CallerThreadExecutor.getInstance());
    try {
        CloseableReference<CloseableImage> imageReference = dataSource.getResult();
        if (imageReference != null) {
            try { CloseableBitmap image = (CloseableBitmap) imageReference.get(); // do something with the image Bitmap loadedImage = image.getUnderlyingBitmap(); if (loadedImage != null) { return loadedImage; } else { return null; } } finally { CloseableReference.closeSafely(imageReference); } } } finally { dataSource.close(); } return null; }

facebook非常贴心,居然还有中文的官方文档:
fresco官方文档

 

摘录:http://www.jianshu.com/p/ec4961133192

转载于:https://www.cnblogs.com/onone/articles/6553766.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值