高效率下载图片——防止内存溢出(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-01-01 13:14 点击:

    //下载队列 
    private List<ImageDownloadItem> queue = new ArrayList<ImageDownloadItem>(); 
    private synchronized void addDownloadItem(ImageDownloadItem item) { 
        queue.add(item); 
        this.notify();//添加了下载项就激活本线程 
    } 
 
    @Override 
    public void run() { 
        while(true) { 
            while(queue.size() > 0) { 
                ImageDownloadItem item = queue.remove(0); 
                String imagePath = downloadImage(item.imageUrl); 
                //缓存图片路径 
                cache.put(item.imageUrl, imagePath); 
 
                if (item.callback != null) {//需要执行回调来显示图片 
                    item.imagePath = imagePath; 
 
                    //交由UI线程处理 
                    Message msg = handler.obtainMessage(); 
                    msg.obj = item; 
                    handler.sendMessage(msg); 
                } 
            } 
            try { 
                synchronized(this) { 
                    this.wait();//没有下载项时等待 
                } 
            } catch (InterruptedException e) { 
                e.printStackTrace(); 
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1