当前位置: 移动技术网 > IT编程>移动开发>Android > Android基于SoftReference缓存图片的方法

Android基于SoftReference缓存图片的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

讲不出再见吉他谱,茶颂剧情介绍,相声稿

本文实例讲述了android基于softreference缓存图片的方法。分享给大家供大家参考,具体如下:

java中的softreference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增强程序的健壮性。

softreference的特点是它的一个实例保存对一个java对象的软引用,该软引用的存在不妨碍垃圾收集线程对该java对象的回收。也就是说,一旦softreference保存了对一个java对象的软引用后,在垃圾线程对这个java对象回收前,softreference类所提供的get()方法返回java对象的强引用。另外,一旦垃圾线程回收该java对象之后,get()方法将返回null

用map集合缓存软引用的bitmap对象:

map<string, softreference<bitmap>> imagecache = new new hashmap<string, softreference<bitmap>>();
//强引用的bitmap对象
bitmap bitmap = bitmapfactory.decodestream(inputstream);
//软引用的bitmap对象
softreference<bitmap> bitmapcache = new softreference<bitmap>(bitmap);
//添加该对象到map中使其缓存
imagecache.put("1",softrbitmap);
..
.
//从缓存中取软引用的bitmap对象
softreference<bitmap> bitmapcache_ = imagecache.get("1");
//取出bitmap对象,如果由于内存不足bitmap被回收,将取得空
bitmap bitmap_ = bitmapcache_.get();

注:如果程序中需要从网上加载大量的图片 这时就考虑采用在sdcard上建立临时文件夹缓存这些图片了

更多关于android相关内容感兴趣的读者可查看本站专题:《android缓存操作技巧总结》、《android开发之内存与缓存技巧总结》、《android图形与图像处理技巧总结》、《android开发入门与进阶教程》、《android调试技巧与常见问题解决方法汇总》、《android多媒体操作技巧汇总(音频,视频,录音等)》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网