网络加载图片及图片缓存处理
来源:互联网 发布:淘宝登录itunes store 编辑:程序博客网 时间:2024/04/29 10:08
网络加载图片:
1.(android使用)
InputStream is=new URL(String url).openStream();
Bitmap bm=BitmapFactory.decodeStream(is);
获得Bitmap对象后即可
2.(java、android都可以)
public static boolean downloadImg(String imgurl,String savedPath){
try {
URL url=new URL(imgurl);//获取URL对象
URLConnection conn=url.openConnection();//建立连接
InputStream is=conn.getInputStream();//获得输入流
File file=new File(savedPath);
FileOutputStream fos=new FileOutputStream(file);
int count;
while((count=is.read())!=-1){//读取数据
fos.write(count);
}
fos.close();
is.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
缓存处理:
软引用SoftReference<T>,如果一个类型T的对象具有软引用,在内存空间足够时,垃圾回收器不会回收它,在内存空间不够时,垃圾回收器就会回收它
可以使用Map集合缓存具有软引用的对象,如Map<String ,SoftReference<Bitmap>> map=new HashMap<String,SoftReference<Bitmap>>();通过软引用对象的get方法即可获得Bitmap对象的强引用(SoftReference属于java提供的类)
LruCache是android提供的一个缓存工具类,其算法是最近最少使用算法,可以使GC体验更好,具体参考http://www.cnblogs.com/tianzhijiexian/p/4248677.html
- 网络加载图片及图片缓存处理
- 网络加载图片缓存
- Android网络图片加载缓存处理库的使用
- Android网络图片加载缓存处理库的使用
- Android网络图片加载缓存处理库的使用
- Android网络图片加载缓存处理库的使用
- SDWebImage网络加载图片缓存
- SDWebImage异步加载网络图片 缓存内存及本地
- iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
- iOS网络编程(五) 异步加载及缓存图片-----EGO
- iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
- iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
- iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
- Android24_LruCache缓存处理及异步加载图片类的封装
- Android27_LruCache缓存处理及异步加载图片类的封装
- LruCache缓存处理及异步加载图片类的封装
- andriod 异步加载网络图片(LruCache缓存网络图片)
- SDWebImage 异步加载网络图片 缓存…
- Lua数据类型学习
- 线性代数的本质
- 关于如何使用SqlServer中@@Identity、@@IDENT_CURRENT、@@SCOPE_Identity获取自动生成列的值的区别(精简版)
- 缓存之EHCache(一)
- es添加新字段
- 网络加载图片及图片缓存处理
- poj 1679 Prim 算法解决
- 关于ubuntu平台出现 insufficient permissions for device
- thinkphp 验证码使用
- 关于Relocations in generic ELF (EM: 40)的解决办法
- iOS中正则表达式封装好的第三方文件
- Dynamics CRM 查找字段下拉的最多10个选项的排序规则
- framset练习
- android-学习-socket.1