之前自己也有这个困惑,刚接触Fresco的时候总是在想怎么加载本地的图片,网上也有很多人在搜索这个问题,但是很少有回答的。在这里写下来吧,方便大家查找。
另外其他更多功能大家看文档吧:中文文档连接:https://www.fresco-cn.org/docs/
Fresco 支持许多URI格式。
特别注意:Fresco不支持相对路径的URI. 所有的 URI 都必须是绝对路径,并且带上该 URI 的 scheme。
如下:
类型
SCHEME
示例
远程图片 |
http://, https://
|
HttpURLConnection 或者参考使用其他网络加载方案
|
本地文件 |
file://
|
FileInputStream
|
Content provider |
content://
|
ContentResolver
|
asset目录下的资源 |
asset://
|
AssetManager
|
res目录下的资源 |
res://
|
Resources.openRawResource
|
Uri中指定图片数据 |
data:mime/type;base64,
|
数据类型必须符合rfc2397规定(仅支持
UTF-8) |
res 示例:
1
|
Uri uri = Uri.parse("res://包名(实际可以是任何字符串甚至留空)/" + R.drawable.ic_launcher);
|
注意,只有图片资源才能使用在Image pipeline中,比如(PNG)。其他资源类型,比如字符串,或者XML Drawable在Image pipeline中没有意义。所以加载的资源不支持这些类型。
像ShapeDrawable
这样声明在XML中的drawable可能引起困惑。注意到这毕竟不是图片。如果想把这样的drawable作为图像显示,那么把这个drawable设置为占位图,然后把URI设置为null
。
分享到:
相关推荐
在Android开发中,加载本地图片是一项常见的任务,但如果不妥善处理,可能会导致内存溢出(Out Of Memory,简称OOM)问题。"Android高级应用源码-加载本地图片,绝对不会出现OOM.zip"是一个针对这一问题的解决方案,...
Fresco 是一个强大的 Android 图像加载库,由 Facebook 开源,它特别擅长处理复杂的图像问题,如内存管理、延迟加载和动态图片显示。在 Android 应用开发中,尤其是在社交媒体或者娱乐类应用中,经常需要展示动图...
Fresco是Facebook开源的一款强大的Android图像加载库,它在处理图片方面有着卓越的性能和丰富的功能。本篇文章将深入探讨Fresco如何实现图片的旋转和裁剪,以及如何通过实际的代码示例来理解这些操作。 一、Fresco...
总的来说,"android获取本地图片相册及图片"涉及的知识点包括:Android文件系统与权限管理、MediaStore API的使用、图片加载库的运用(如Glide)、多选功能的实现以及Intent的使用。开发者需要熟练掌握这些技术,...
Fresco 是一个由 Facebook 开发并开源的 Android 图片加载库,旨在解决 Android 应用程序在处理图片时遇到的常见问题,如内存管理、图片显示延迟以及图片过度绘制等。这个强大的工具提供了一整套解决方案,包括本地...
Fresco是一款专门为Android平台设计的高性能图片加载库,由Facebook开发并开源。它在Android 4.4(KitKat)及以上版本中表现出色,优化了内存管理,避免了Bitmap对象频繁地在内存和磁盘之间交换,从而提升了应用的...
在Android开发中,实现一个能够加载本地和网络图片的轮播图是常见的需求,尤其在应用的启动界面、产品展示或者新闻浏览等场景。这个"Android 实现加载本地网络图片轮播图.zip"的资源提供了这样的功能,适用于影音...
另外,像` Picasso`、`Glide`或` Fresco`这样的图片加载库也内置了异步加载机制,它们不仅能够加载网络图片,还能自动处理内存和磁盘缓存。 2. **图片本地缓存**: 图片本地缓存是提升应用性能的关键,它将经常...
综上所述,"gridview 异步加载本地图片"的示例涵盖了Android UI设计、多线程编程、数据分页加载、图片缓存和第三方库的使用等多个重要知识点,是Android开发中非常实用的一个案例。AsyImageDemo这个名字很可能代表了...
2. **Universal Image Loader (UIL)**:这是一个流行的开源库,专门用于异步加载和缓存网络或本地图片。它支持多种缓存策略,可以自定义图片的加载和显示过程。 3. **Picasso**:由Square公司开发的图片加载库,...
"安卓Android源码——加载本地图片,绝对不会出现OOM.zip"这个压缩包文件显然是针对如何避免在Android应用中加载图片时出现内存溢出提供的一种解决方案。下面将详细讲解这个话题。 1. 图片加载引发的OOM问题: 当...
总之,Android Image Slider是一个强大的图片轮播组件,它简化了网络和本地图片的加载,修复了播放/暂停的常见问题,并提供了高度的可定制性。对于想要在Android应用中实现图片轮播功能的开发者来说,这是一个非常...
如果你想加载本地文件系统中的图片,可以这样做: ```java Glide.with(context) .load(new File("/path/to/image.jpg")) .into(imageView); ``` 在某些情况下,你可能需要自定义`ImageView`的行为,例如设置图片...
在Android应用开发中,加载本地图片是一个常见的任务,但如果不恰当处理,很容易导致内存溢出(Out Of Memory,简称OOM)问题。这个压缩包“Android应用源码之加载本地图片,绝对不会出现OOM.zip”显然是一个关于...
在Android开发中,加载本地图片是一项常见的任务,但如果不妥善处理,可能会引发内存溢出(Out Of Memory,简称OOM)问题。OOM是Android应用中一个常见的运行时异常,尤其是在处理大量图片或者大尺寸图片时,可能...
"安卓Android源码——加载本地图片,绝对不会出现OOM.rar"这个压缩包文件显然是针对这个问题提供了一种解决方案。下面我们将深入探讨Android中如何有效地加载本地图片以避免OOM。 首先,我们需要理解为什么Android...
Picasso 支持从网络、内存或本地文件系统加载图片,并提供了丰富的功能,如自动调整图片大小、图片变换以及智能缓存机制。 **1. Picasso 的核心功能** - **图片加载**:Picasso 提供了一种简洁的 API 来加载图片到...
4. 使用图片加载库:如Glide、Picasso或 Fresco,它们提供了许多预设的优化功能,简化了图片加载的实现。 在"Demo4FileManager"这个文件中,可能包含了实现这些功能的代码示例,包括文件管理和图片加载的具体实现。...