Android图片加载框架——Fresco
来源:互联网 发布:revit软件视频教程 编辑:程序博客网 时间:2024/05/21 07:15
简介:
Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片,是新一代的图片加载库,因为Android应用程程序的内存通常都不大,经常在图片加载中出现OOM,虽然有各种手段去优化,尽量减少出现 OOM 的可能性,但是永远没法避免。而Facebook就另辟蹊径,既然没法在 Java 层处理,我们就在更底层的Native堆做手脚。于是 Fresco 将图片放到一个特别的内存区域叫 Ashmem 区,就是属于 Native堆,图片将不再占用 App 的内存,Java 层对此无能为力,这里是属于 C++ 的地盘,所以能大大的减少 OOM。所以此库很强大,不过用起来也比较复杂,包也比较大,貌似有2、3M,底层涉及到的 C++ 领域,想读源码也比较困难。
github地址:https://github.com/facebook/fresco
使用实例:
public class FrescoActivity extends AppCompatActivity { private SimpleDraweeView mSimpleView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //fresco库初始化 //写在application的onCreate当中是最好的, 要先初始化库,才能完成布局文件的加载,要写在setContentView之前 Fresco.initialize(this); setContentView(R.layout.activity_fresco); mSimpleView = (SimpleDraweeView) findViewById(R.id.simpleDraweeView); //建议在布局当中加载属性配置,但是有时在listview复杂加载时会失效。所以就要在代码中写属性配置 /* GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources()); GenericDraweeHierarchy hierarchy = builder.setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER) .setPlaceholderImage(getResources().getDrawable(R.mipmap.ic_launcher)) .setFailureImage(getResources().getDrawable(R.mipmap.d_shuai)) .build(); mSimpleView.setHierarchy(hierarchy); */ mSimpleView.setImageURI(Uri.parse(ImageUrls.bigImages[3])); }}
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/simpleDraweeView" android:layout_height="200dp" android:layout_width="200dp" fresco:actualImageScaleType="centerCrop" fresco:backgroundImage="@color/colorAccent" fresco:fadeDuration="300" fresco:placeholderImage="@mipmap/ic_launcher" fresco:placeholderImageScaleType="fitCenter" fresco:failureImage="@mipmap/d_shuai" fresco:failureImageScaleType="fitCenter" fresco:roundAsCircle="false" fresco:roundedCornerRadius="40dp" fresco:roundBottomLeft="true" fresco:roundBottomRight="true" fresco:roundTopLeft="true" fresco:roundTopRight="true" fresco:roundWithOverlayColor="@color/colorPrimary" fresco:roundingBorderColor="#00ff00" fresco:roundingBorderWidth="5dp" ></com.facebook.drawee.view.SimpleDraweeView>
0 0
- Android图片加载框架——Fresco
- Android图片加载框架——Fresco
- 一、Android 图片加载框架 Fresco 入门
- 强大Android图片加载的框架:Fresco
- android之图片加载框架fresco
- Android图片加载框架Fresco解析
- Fresco图片加载框架
- 图片加载框架-Fresco
- Fresco图片加载框架
- Fresco图片加载框架
- Fresco图片加载框架
- 【Android】Fresco图片加载框架(一)————源码简要分析
- 【Android】Fresco图片加载框架(二)————Producer
- 【Android】Fresco图片加载框架(一)————源码简要分析
- 最强大的图片加载框架——Fresco
- Android框架——下载图片框架Fresco
- Fresco 图片加载框架用法
- Fresco图片加载框架使用
- IOS学习之UIWebView
- 堆和栈
- BZOJ 1690 【USACO 2007 Dec奶牛观光】
- uva 1583
- Java学习提要——基本网络编程Socket与echo
- Android图片加载框架——Fresco
- 导入英汉文本,用字符串切割,泛型集合存储的英汉字典
- 读取五种格式的配置文件(xml(两种方式),txt,excel,csv,json)
- DES算法C++代码实现-密码学
- 记录一下开始
- 190.Next Permutation II-下一个排列(中等题)
- Matlab 中常用函数
- KMP详解
- DEVC++的几个实用小技巧