zoukankan      html  css  js  c++  java
  • FaceBook开源库Fresco

    资料已经整理成了电子书欢迎进群284568173讨论学习使用

    关于 Fresco

    Fresco 是一个强大的图片载入组件。

    Fresco 中设计有一个叫做 image pipeline 的模块。它负责从网络。从本地文件系统。本地资源载入图片。

    为了最大限度节省空间和CPU时间,它含有3级缓存设计(2级内存,1级文件)。

    Fresco 中设计有一个叫做 Drawees 模块,方便地显示loading图,当图片不再显示在屏幕上时,及时地释放内存和空间占用。

    Fresco 支持 Android2.3(API level 9) 及其以上系统。

    特性

    内存管理

    一个没有未压缩的图片。即Android中的Bitmap,占用大量的内存。大的内存占用势必引发更加频繁的GC。在5.0下面。GC将会显著地引发界面卡顿。

    在5.0下面系统,Fresco将图片放到一个特别的内存区域。当然,在图片不显示的时候,占用的内存会自己主动被释放。这会使得APP更加流畅,降低因图片内存占用而引发的OOM。

    Fresco 在低端机器上表现一样出色,你再也不用因图片内存占用而思前想后。

    图片的渐进式呈现

    渐进式的JPEG图片格式已经流行数年了,渐进式图片格式先呈现大致的图片轮廓,然后随着图片下载的继续,呈现逐渐清晰的图片,这对于移动设备,尤其是慢网络有极大的利好。可带来更好的用户体验。

    Android 本身的图片库不支持此格式,可是Fresco支持。使用时。和往常一样。只须要提供一个图片的URI就可以,剩下的事情。Fresco会处理。

    Gif图和WebP格式

    是的,支持载入Gif图。支持WebP格式。

    图像的呈现

    Fresco 的 Drawees 设计,带来一些实用的特性:

    •   自己定义居中焦点(对人脸等图片显示很有帮助)

    •   圆角图,当然圆圈也行。

    •   下载失败之后,点击重现下载

    •   自己定义占位图。自己定义overlay, 或者进度条

    •   指定用户按压时的overlay

    图像的载入

    Fresco 的 image pipeline 设计。同意用户在多方面控制图片的载入:

    •   为同一个图片指定不同的远程路径,或者使用已经存在本地缓存中的图片

    •   先显示一个低解析度的图片。等高清图下载完之后再显示高清图

    •   载入完毕回调通知

    •   对于本地图。如有EXIF缩略图。在大图载入完毕之前,可先显示缩略图

    •   缩放或者旋转图片

    •   处理已下载的图片

    •   WebP 支持

  • 相关阅读:
    我的知识库(4) java获取页面编码(Z)
    知识库(3)JAVA 正则表达式 (超详细)
    The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the associated filter. Struts
    某人总结的《英语听力的技巧 》,挺搞的
    我的知识库(5)java单例模式详解
    构建可扩展程序
    SerialPort (RS232 Serial COM Port) in C# .NET
    Python学习笔记——String、Sequences
    UI题目我的答案
    jQuery学习系列学会操纵Form表单元素(1)
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6892797.html
Copyright © 2011-2022 走看看