欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > LruCache、Glide和SmartRefreshLayout使用总结

LruCache、Glide和SmartRefreshLayout使用总结

2024/11/30 8:41:28 来源:https://blog.csdn.net/qq_42447739/article/details/140295953  浏览:    关键词:LruCache、Glide和SmartRefreshLayout使用总结

(一)Android智能下拉刷新框架-SmartRefreshLayout
https://github.com/scwang90/SmartRefreshLayout?tab=readme-ov-file
(二)LruCache使用
使用它可以进行图片的内存缓存

public class ImageLoaderUtil {private LruCache<String, Bitmap> mLruCache;/*** 构造函数*/public ImageLoaderUtil () {//设置最大缓存空间为运行时内存的 1/8int maxMemory = (int) Runtime.getRuntime().maxMemory();int cacheSize = maxMemory / 8;mLruCache = new LruCache<String, Bitmap>(cacheSize) {@Overrideprotected int sizeOf(String key, Bitmap value) {//计算一个元素的缓存大小return value.getByteCount();}};}/*** 添加图片到 LruCache** @param key* @param bitmap*/public void addBitmap(String key, Bitmap bitmap) {if (getBitmap(key) == null) {mLruCache.put(key, bitmap);}}/*** 从缓存中获取图片** @param key* @return*/public Bitmap getBitmap(String key) {return mLruCache.get(key);}/*** 从缓存中删除指定的 Bitmap** @param key*/public void removeBitmapFromMemory(String key) {mLruCache.remove(key);}
}

(三)Glide使用
Glide是一个快速高效的Android图片加载库,可以自动加载网络,本地文件,app资源中的图片。
Glide第一次加载一张图片后,就会自动帮我们把这张图片加入到内存中进行管理了

Glide基本使用
导入 implementation ‘com.github.bumptech.glide:glide:4.15.1’

最简单的使用
with()里面传入activity/fragment上下文、view都可以,它是一个重载方法
load()里面传图片,可以是drawable/mipmap里面图片/网络图片、本地图片
into()里放要显示图片的ImageView

Glide.with(this).load(R.drawable.dp).into(image);

进阶
1>Glide4中占位图的使用方法,包括(placeholder,error,fallback)三种占位图,一般在请求网络图片的时候使用
paceholder:正在请求图片的时候展示的图片
error:如果请求失败的时候展示的图片(如果没有设置,还是展示placeholder的占位符)
fallback:如果请求的url/model为null的时候展示的图片(如果没有设置,还是展示paceholder的占位符)

   //编写占位符RequestOptions requestOptions = new RequestOptions().placeholder(R.drawable.ic_launcher_foreground).error(R.mipmap.ic_launcher).fallback(R.drawable.ic_launcher_foreground).override(100, 100); // override 指定加载图片大小//Glide里面加入apply(占位符)应用占位符Glide.with(this).load(R.drawable.dp).apply(requestOptions).into(image);

2>变换
获取资源并修改它,然后返回被修改后的资源。通过变换操作是用来完成裁剪或对位图应用过滤器。比如图片进行圆角配置
通过transform()属性来实现。

//CircleCrop()圆角
Glide.with(this).load(R.drawable.dp).transform(new CircleCrop())//图片以圆角的方式.into(image);//RoundedCorners四个角度统一指定
Glide.with(this).load(R.drawable.dp).transform(new RoundedCorners(100)).into(image);//Rotate 旋转
Glide.with(this).load(R.drawable.dp).transform(new Rotate(90))//顺时针旋转90°,into(image);

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com