软引用下载图片
来源:互联网 发布:youtube出现网络问题 编辑:程序博客网 时间:2024/04/29 21:01
public class AsyncImageLoader {private HashMap<String, SoftReference<Drawable>> imageCache;public AsyncImageLoader() {// 软引用 imageCache=new HashMap<String,SoftReference<Drawable>>();}/**** 下载图片* @param imageUrl 图片地址* @param imageCallback 回调接口* @return*/ public Drawable loadDrawable(final String imageUrl,final ImageCallback imageCallback){if (imageCache.containsKey(imageUrl)){SoftReference<Drawable> softReference = imageCache.get(imageUrl); //通过key获取软引用实例Drawable drawable=softReference.get(); //获取软引用对象if(drawable!=null){return drawable; }}//final Handler handler=new Handler(){@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);imageCallback.imageLoaded((Drawable) msg.obj, imageUrl); }};// 开启线程下载图片 new Thread(){public void run() {Drawable drawable = loadImageFromUrl(imageUrl); // 将下载的图片保存至缓存中 imageCache.put(imageUrl, new SoftReference<Drawable>(drawable));Message message = handler.obtainMessage(0, drawable); handler.sendMessage(message); };}.start();return null; }//根据URL下载图片(这里要进行判断,先去本地sd中查找,没有则根据URL下载,有则返回该drawable)protected Drawable loadImageFromUrl(String imageURL) {Bitmap bitmap = MyUtil.GetBitmap(imageURL, 100); Drawable drawable = new BitmapDrawable(bitmap);return drawable;}// 回调接口 public interface ImageCallback { public void imageLoaded(Drawable imageDrawable, String imageUrl); } }
0 0
- 软引用下载图片
- android 解决图片大量下载:软引用必须懂4点
- Android 解决图片大量下载:软引用必须懂4点
- android 解决图片大量下载:软引用必须懂4点
- Android 解决图片大量下载:软引用必须懂4点
- android 解决图片大量下载:软引用必须懂4点
- Android 解决图片大量下载:软引用必须懂4点
- 新应用知识整理-图片的下载、内存软引用与本地缓存的实现
- Android 解决图片大量下载:软引用必须懂4点
- Android 解决图片大量下载:软引用必须懂4点
- 【转】Silverlight图片资源引用及动态下载
- 引用图片
- 图片引用
- Listview 软引用SoftReference异步加载图片
- Android图片缓存技术---软引用、LruCache
- 异步加载图片的模块,图片的软引用
- 后向引用(正则中/1/2是什么意思?)下载保存本图片就可以看到全部
- Silverlight技术研讨(2):图片资源引用及动态下载
- win7中cookies的位置
- MySql ibdata1文件太大如何缩小
- 【Git】diff 与 patch
- C语言函数sscanf()的用法
- linux 下安装mysql
- 软引用下载图片
- 苹果和谷歌提供独家游戏开发者协议
- 无线路由器设置wifi
- HQL multiple condition
- JAVA设计模式---模版模式
- 8周项目1.2
- hdu 1238 KMP+枚举
- TList TObjectList的区别和使用。
- win764位 vs2003 下解决无法附件到进程的调试问题