添加缓存

本文详细介绍了如何在读取图片流时实现缓存功能,通过边读取边存储到本地文件的方法优化图片加载效率,并提供了一个自定义截取图片名称的函数,确保缓存过程的灵活性和高效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如上几篇,当读取图片,肯定会用到缓存功能,如下

//读取流中的数据
						InputStream is = hucn.getInputStream();
						//读取获取到的流,整合成一个图片
						//要实现图片缓存,边读取,边把图片存到本地文件
						//设置一个1kb的数组
						byte[] b = new byte[1024];
						int len;
						File file = new File(getCacheDir(), getNameFromPath(path));
						//输出流
						FileOutputStream fos = new FileOutputStream(file);
						while ((len = is.read(b))!=-1) {
							fos.write(b, 0, len);
						}
						fos.close();
                                              //此处流中已经没有数据,所以需要读取本地数据来构造
                                                Bitmap bp = BitmapFactory.decodeFile(file.getAbsolutePath());

此处缓存图片功能完成,其中getNameFromPath(path)方法是自己写的一个截取请求的网址中图片名字

//写一个截取图片名字方法
	public String getNameFromPath(String path) {
		int index = path.lastIndexOf("/");
		return path.substring(index + 1);		
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值