android自定义图片缓存,适用于Android的本地图像缓存解决方案:Squ...
更新于2018年9月:几年后,我需要与本地图像缓存解决方案几乎相同的东西.这一次,UIL尚未积极开发.我比较了流行的库,结论很简单:只需使用Glide.它功能强大且可配置.多年前我不得不分叉并对UIL进行更改. Glide支持我的所有用例,包括缓存策略和使用自定义键的多级分辨率缓存.只需使用Glide!
Koushik Dutta的比较主要是速度基准.他的帖子只触及了非常基本的东西,并不是特定于本地图像.在我提出问题之后,我想与毕加索和UIL分享我的经历. Picasso和UIL都可以加载本地图像.我第一次尝试Picasso并且很开心,但后来我决定切换到UIL以获得更多自定义选项.
毕加索:
> Picasso流畅的界面很不错.但是,随着“with”,“into”,“load”的跳跃,你实际上并不知道幕后背后是什么.这让人感到困惑.
> Picasso允许您指定确切的目标尺寸.当你遇到内存压力或性能问题时,它很有用,你可以牺牲一些图像质量来提高速度.
>图像在其键中以大小缓存,当您显示不同大小的图像时,它非常有用.
>您可以自定义内存缓存大小.但它的光盘缓存仅适用于http请求.对于本地图像,如果您关心加载速度,最好有一个缩略图磁盘缓存,这样您就不必每次都为图像读取几个MB. Picasso没有这种机制调整大小并在屏幕上保存缩略图.
> Picasso不公开对其缓存实例的访问. (当你第一次配置Picasso并保持它时,你可以抓住它……).
>有时您希望将图像异步读取到侦听器返回的位图中.令人惊讶的毕加索没有那个. “fetch()”不会传回任何东西. “get()”用于同步读取,“load()”用于异步绘制视图.
> Picasso在主页上只有一些简单的例子,你必须阅读无序的javadoc以获得高级用法.
UIL:
> UIL使用构建器进行自定义.几乎所有东西都可以配置.
> UIL不允许您指定要加载到视图中的大小.它使用一些基于视图大小的规则.它没有毕加索那么灵活.我无法加载较低分辨率的图像以减少内存占用. (编辑:通过在源代码中添加ImageSize参数并绕过视图大小检查,可以轻松修改此行为)
> UIL提供可自定义的光盘缓存,您可以使用它来缓存指定大小的缩略图.但它并不完美.这里是details.(编辑:如果你关心速度并想要多级别的缩略图缓存,就像我的情况一样,你可以修改源代码,让磁盘缓存使用“memoryKey”,并使其对大小敏感)
> UIL默认在内存中缓存不同大小的图像,并且可以在配置中关闭它.
> UIL公开您可以访问的后备内存和磁盘缓存.
> UIL提供了灵活的方法来获取位图或加载到视图.
> UIL在文档方面更好. UIL在Github页面上给出了详细的用法,并且有一个链接的教程.
我建议从Picasso开始,如果你需要更多的控制和定制,请选择UIL.
android自定义图片缓存,适用于Android的本地图像缓存解决方案:Squ...相关推荐
- android自定义图片加载,Android自定义ProgressDialog加载图片
为了提高用户体验,我们肯定希望该Dialog能更加炫酷,让用户看着更舒服.那如何做呢,当然是我们自己定义一个ProgressDialog了. 一.使用系统加载框 mDialog = new Progr ...
- android 自定义图片上传,android自定义ImageView仿图片上传示例
看下效果图 主要看下自定义view 代码 public class ProcessImageView extends ImageView{ private Context context; priva ...
- android 自定义图片上传,android自定义ImageView仿图片上传(示例代码)
Activity代码 1 public classMainActivity extends AppCompatActivity {2 ProcessImageView processImage ...
- Android Glide图片加载框架(三)缓存机制
文章目录 一.缓存简介 二.缓存用法 内存缓存方式 磁盘缓存方式 三.缓存KEY 四.内存缓存 内存缓存流程 五.磁盘缓存 磁盘缓存流程 Android Glide图片加载框架系列文章 Android ...
- android 自定义图片,Android自定义图片集合
本文主要包括以下内容: 使用Xfermode设置圆角图片 使用BitmapShader设置圆角图片 滑动旋转缩放的bimp图片 图片颜色处理(滑动) 图片 + 文字 其中1,2是两种不同方式处理图片圆 ...
- 网卡清空缓存命令_怎么清除dns缓存 查看与刷新本地DNS缓存方法 (全文)
由于近几日百事网更换了cdn加速服务商,导致不少地区朋友无法访问百事网,包括小编电脑也是经常打不开,目前主要可以通过清除dns缓存来解决.一般来说,电脑在第一次访问一个网站后,在一定时间内会有本地DN ...
- android自定义图片+文字控件四种实现方法,Android自定义“图片+文字”控件四种实现方法之 二--------个人最推荐的一种...
http://blog.csdn.net/yanzi1225627/article/details/8633872 第二种方法也要新建一个图片+文字的xml布局文件,然后写一个类继承自LinearLa ...
- android自定义图片过渡效果,教你做出炫酷的Android动画效果
前言 Android动画也是Android系统中一个很重要的模块, 在平时开发中, 为了做出炫酷的效果, 动画可以说是必不可少的; 本文将总结Android中与动画相关的部分, 文中部分内容整理自文末 ...
- Android批量图片加载经典系列——使用二级缓存、异步网络负载形象
一.问题描写叙述 Android应用中常常涉及从网络中载入大量图片,为提升载入速度和效率,降低网络流量都会採用二级缓存和异步载入机制.所谓二级缓存就是通过先从内存中获取.再从文件里获取,最后才会訪问网 ...
最新文章
- [WPF]学习笔记二---主窗体
- SNMP、MIB、OID概念的理解
- 【GAN优化】从动力学视角看GAN是一种什么感觉?
- VTK:颜色断开区域用法实战
- 创建订单 - 保存订单与子订单数据
- 树莓派安装ArchLinux
- Makefile的介绍与使用
- 求解一元二次方程的简单c语言程序
- 详解Python中的生成器表达式(generator expression)
- 数据结构之第一章一些概念
- 【SegMap: 3D Segment Mapping using Data-Driven Descriptors】
- Skyline软件二次开发初级——8如何在WEB页面中的三维地图上管理信息树
- 新浪pop服务器无响应,新浪 – Pop's Blog
- HTML+CSS制作课程表
- 根域名服务器作用,域名系统的主要功能是什么?域名系统中的本地域名服务器、根域名服务器、顶级域名 - 问答库...
- 卡马克揭开VR延迟背后的真相
- codeforces1000a csdn-博客
- Apollo之Canbus处理来自Control的Cmd
- 批量修改文件名(应用于编号修改)
- 了解怎么翻译音频吗?
热门文章
- missing go.sum entry for module providing package github.com/astaxie/beego
- SPSS Modeler——超市商品购买关联分析
- 【云驻共创】华为云之手把手教你搭建IoT物联网应用充电桩实时监控大屏
- L11-Python中的高阶函数的使用
- 关于电信4Gapn设置问题
- 音视频技术开发周刊 | 269
- 网络靶场实战-某电网调度渗透场景
- 水光储一体化微电网调度
- B-树----(多插平衡树)
- 登录医疗机构无法连接到远程服务器,敬业签桌面便签软件登录提示“无法连接到远程服务器”解决办法...