`
gaojingsong
  • 浏览: 1182329 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【Android之Picasso图形缓存库】

阅读更多

 A powerful image downloading and caching library for Android

 

 

Images add much-needed context and visual flair to Android applications. Picasso allows for hassle-free image loading in your application—often in one line of code!

Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(imageView);

Many common pitfalls of image loading on Android are handled automatically by Picasso:

  • Handling ImageView recycling and download cancelation in an adapter.
  • Complex image transformations with minimal memory use.
  • Automatic memory and disk caching.

许多在Android上图片加载常见的的陷阱都被Picasso自动的处理了:

1)在adaper中处理ImageView循环和取消下载

2)对复杂图像进行转换,使其占用最小的内存

3)自动的内存和磁盘缓存

 

 

Features

ADAPTER DOWNLOADS

Adapter re-use is automatically detected and the previous download canceled.

 

IMAGE TRANSFORMATIONS

Transform images to better fit into layouts and to reduce memory size.

You can also specify custom transformations for more advanced effects.

 

PLACE HOLDERS

Picasso supports both download and error placeholders as optional features.

A request will be retried three times before the error placeholder is shown.

 

RESOURCE LOADING

Resources, assets, files, content providers are all supported as image sources.

 

Picasso.get().load(R.drawable.landing_screen).into(imageView1);

Picasso.get().load("file:///android_asset/DvpvklR.png").into(imageView2);

Picasso.get().load(new File(...)).into(imageView3);

 

DEBUG INDICATORS

 

For development you can enable the display of a colored ribbon which indicates the image source. Call setIndicatorsEnabled(true) on the Picasso instance.

特性

在Adapter中下载

自动检测Adapter重用并取消之前的下载

 

图片转换

转换图片以更好地适配布局并减少内存使用

你也可以指定定制的转换方式来实现更高级的效果

 

占位图

Picasso同时支持了下载和出错的占位图供用户选择

 

资源加载

支持Resources, assets, files, content providers作为图片源

Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);

Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);

Picasso.with(context).load(new File(...)).into(imageView3);

 

调试指示

开发时可以打开彩带显示来指示图片源,在Picasso实例调用setIndicatorsEnabled(true)即可

 

Picasso功能

 1.加载速度快 
 2.资源消耗低 
 3.保证加载图片时不错位 
  4.加载图片类型丰富,支持网络图片以及各种本地图片如Asserts目录下,内容提供者提供的图片资源路径

Picasso策略

  1.加载速度快 
  标准的二级缓存(内存缓存+磁盘缓存)+Net 
  a.标配策略,MemoryCache+DiskCache+Net。提高加载速度,同时保证流量。 
  b.Net部分,兼顾单请求加载速度与多请求并发能力,从而提高整体加载速度。 
c.MemoryCache部分,通过Lru策略提高缓存效率。 
  2.资源消耗低 
  a.渲染适当尺寸图片来减少内存。 
  b.通过线程池来限制并发的图片加载线程,降低资源消耗。 
  c.请求相同图片的线程要合并,减少线程数。 
  3.加载图片类型丰富 
  Picasso内置针对不同的图片资源类型的各种handler 例如:网络下载图片:NetworkRequestHandler,Asserts目录下的图片资源:AssetRequestHandler 
 4.保证加载图片时不错位 
  Picasso维护了Map,Key为ImageView,Value为Action,每个ImageView均只对应一个Action。若获取的图片Action与ImageView不符合,则丢弃,等待正确的Action执行完。 

  • 大小: 44.8 KB
0
0
分享到:
评论

相关推荐

    picasso 图形库源码

    《Picasso图形库源码解析》 Picasso,这个名字在Android开发者中并不陌生,它是一个高效、易用的2D图像渲染库,被广泛应用于移动平台,尤其是Android系统。Picasso以其简洁的API和强大的功能,深受开发者的喜爱。...

    android Picasso 加载图片demo,免积分

    picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载

    Android中图片处理库Picasso的基本使用

    Picasso是Square公司开源的一个Android图形缓存库。可以实现图片下载和缓存功能。 特点: 加载载网络或本地图片并自动缓存处理 链式调用 图形转换操作,如变换大小,旋转等,提供了接口来让用户可以自定义转换操作 ...

    Picasso API 文档

    对于Android项目,这通常涉及到在build.gradle文件中添加Picasso的库依赖。对于其他平台,可能需要通过包管理器或手动导入库文件。 ### 2. 加载矢量图形 Picasso API 提供了简单的接口来加载矢量图形资源。你可以...

    Android图形缓存库功能

    源码picasso,picasso是Square公司开源的一个Android图形缓存库,可以实现图片下载和缓存功能。使用说明: 仅仅只需要一行代码就能完全实现图片的异步加载: Picasso.with(context).load(...

    Picasso2.5.2jar包

    Picasso是Square公司开发的一个强大的Android图形缓存库,它为开发者提供了简洁、优雅的API来处理图片加载、缓存和显示。这个2.5.2版本的jar包是Picasso的一个稳定版本,包含了所有必要的功能,使得在Android应用中...

    矢量图形demo程序

    【矢量图形demo程序】是基于Picasso图形库的一个演示应用,它展示了如何在不同的平台上利用矢量图形技术。Picasso库是一个强大的工具,专为处理矢量图形和跨平台应用设计,允许开发者轻松地创建、操作和显示复杂的...

    安卓图片加载缓存相关-android相册系统(用Matrix实现).zip

    Matrix是Android图形库中的一个核心类,它允许开发者对图像进行平移、旋转、缩放等变换操作。在这个项目中,开发者可能利用了Matrix来动态调整图片大小,适应不同的屏幕尺寸和布局需求。 1. **Matrix基础**:Matrix...

    Android异步加载图像小结 (含线程池,缓存方法).rar

    4. **图片库选择**:Android有许多优秀的图片库可以帮助实现异步加载,如`Picasso`、`Glide`和`Fresco`等。这些库内置了线程管理和缓存机制,简化了开发过程。例如,`Glide`支持自定义缓存大小,自动处理图片缩放,...

    android 绘图 加载大图片 图形变形

    4. **使用高效的图片库**:比如Picasso、Glide等,它们内置了图片缩放、内存和磁盘缓存等功能,能简化代码并提高性能。 关于“图形变形”,可能的原因包括: 1. **不正确的宽高比**:如果在加载过程中没有保持原始...

    Android-一个Android图片缩放查看控件支持手势

    可能还使用了第三方的图片加载库,如Glide或Picasso,它们提供了更高效的图片加载、缓存和占位符等特性。这些库可以帮助开发者轻松地处理图片的加载和显示,同时提供对图片格式、尺寸和质量的优化。 7. **高性能...

    Android-AndroidGraphics示例

    `AsyncTask`、`Loader`或第三方库如 Glide、Picasso 可以帮助实现异步加载和缓存策略。 5. **内存缓存与磁盘缓存**: 为了提高性能,图片通常会被缓存到内存或磁盘。LruCache 和 DiskLruCache 是Android提供的缓存...

    android常用的Libs库 精集

    - Picasso:Picasso是另一个流行的选择,它简化了图片加载和调整大小的过程,同时也支持缓存。 2. **动画库** - Lottie:Lottie使开发者能够轻松地在Android应用中使用Adobe After Effects创建的动画。这为应用...

    android项目源码集合

    可能涉及到Android的Bitmap类、ImageView以及第三方库如 Glide 或 Picasso,用于高效加载和播放GIF图像,同时也可能涉及图片缓存策略。 4. **360全景查看demo**:这个项目涉及到了全景图的查看技术,可能使用了...

    Android代码-Android图片浏览全屏缩放.zip

    常见的图片加载库有Glide、Picasso和 Fresco等,它们能有效地管理图片缓存,避免OOM(Out of Memory)异常,并支持图片的缩放、裁剪等操作。 3. **图片缩放**:Android提供了Matrix类来处理图像的几何变换,包括...

    android开发工具常用包

    13. Glide与Picasso:图片加载库,优化了图片的加载、缓存和显示,减少了应用的内存消耗。 14. Retrofit与OkHttp:网络请求库,Retrofit负责接口封装,OkHttp负责网络传输,两者结合能高效地处理网络请求。 15. ...

    Android项目3D相册.rar

    可能使用到的库有Glide、Picasso等,它们能有效地处理大图加载和内存管理。 6. **Android权限管理**:由于涉及到读取和显示用户的图片,项目需要申请相应的Android权限,例如`READ_EXTERNAL_STORAGE`,确保在运行时...

    android 画图片的几种方法

    多个第三方库如 Glide、Picasso、Fresco 等,简化了图片的加载、缓存和显示,特别适用于网络图片。 在`imagetest2`这个文件中,可能包含了示例代码或测试资源,用于演示上述方法。通过分析这些资源,你可以更好地...

    Android之拼图游戏

    综上所述,"Android之拼图游戏"项目涵盖了Android开发中的核心技能,包括异步加载、图片处理、视图系统以及高性能图形编程。通过这个项目,开发者不仅可以提升自己的技术能力,还能深入理解Android图形系统的工作...

Global site tag (gtag.js) - Google Analytics