位置: 编程技术 - 正文

Android 从网络下载图片OOM(安卓数据网络)

编辑:rootadmin

推荐整理分享Android 从网络下载图片OOM(安卓数据网络),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓数据网络,android获取网速,android 网络连接,android网络下载,android 网络连接,android网络下载,android 网络连接,android获取网络数据,内容如对您有帮助,希望把文章链接给更多的朋友!

最近有个需求,从网络下载图片,但不能使用imageloader,因为iimageloader使用缓存机制,同一路径下的图片如果跟换怎不会刷新替换。所以必须自己下载解析。但遇到OOM的问题,如果用BitmapFactory.decodeStream 则会返回null,所以我采用的办法是先将图片下载下来,再计算图片宽高,最后绑定图片后将图片删除的办法。话不多说,先上代码

//path为图片的网络路径

private Bitmap getHttpBitmap(String path) {try {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout();conn.setRequestMethod("GET");if (conn.getResponseCode() == ) {InputStream is = conn.getInputStream();//获取图片路径String[] names = path.split("/");String name = names[names.length-1];//保存图片到本地FileOutputStream outStream = new FileOutputStream(new File(Environment.getExternalStorageDirectory() &#; "/"&#; name));byte[] buffer = new byte[];int len = -1;while ((len = is.read(buffer)) != -1) {outStream.write(buffer, 0, len);}outStream.close();//获取图片宽高BitmapFactory.Options opts = new BitmapFactory.Options();opts.inJustDecodeBounds = true;BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() &#; "/"&#; name , opts);int imageWidth = opts.outWidth;int imageHeight = opts.outHeight;Log.i("imageWidth", String.valueOf(imageWidth));Log.i("imageHeight", String.valueOf(imageHeight));//计算缩放比例,此处为默认&#;,也可以获取控件宽高进行计算int widthscale = imageWidth / ;int heightscale = imageHeight / ;int scale = widthscale > heightscale ? widthscale: heightscale;Log.i("scale", String.valueOf(scale));//开始真正获取图片,进行压缩后的图片opts.inJustDecodeBounds = false;opts.inSampleSize = scale;localerweima =Environment.getExternalStorageDirectory() &#; "/"&#; name;Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() &#; "/"&#; name , opts);Log.i("bitmap1", String.valueOf(bitmap));is.close();Message msg = Message.obtain();msg.what = 1;msg.obj = bitmap;handler.sendMessage(msg);return bitmap;}return null;} catch (Exception e) {Log.i("e.toString();", e.toString());return null;}}

Android 从网络下载图片OOM(安卓数据网络)

//这是handler绑定图片并删除文件的操作

Message msg = new Message();Handler handler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case 1: // 二维码Bitmap bm = (Bitmap) msg.obj;tv_erweima.setImageBitmap(bm);new File(localerweima).delete(); //每次绑定完成后删除本地文件break;default:break;}};};

Android5.0网络之socket接口的改变 socket是网络编程的基础,Android中socket接口定义在bionic里面,Android5.0后,为了更好使用fwmark,用netd中的函数实现部分代替了bionic的socket实现。上代码bioni

Android学习【RelativeLayout控件设置宽 高】 privateRelativeLayoutrelativeLayout;relativeLayout=(RelativeLayout)findViewById(R.id.relativeLayout);player_View.getLayoutParams().height=;player_View.getLayoutParams().width=;

android 实现加载动画对话框 先来两张效果图自定义对话框:publicclassLoadingProgressDialogextendsProgressDialog{privateAnimationDrawablemAnimation;privateContextmContext;privateImageViewmImageView;privateStringmLoadi

标签: 安卓数据网络

本文链接地址:https://www.jiuchutong.com/biancheng/382180.html 转载请保留说明!

上一篇:Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent错误的记录。

下一篇:Android5.0网络之socket接口的改变(android系统联网)

  • 交通运输企业车辆折旧能加速扣除
  • 应收账款是开票减去货款吗对吗
  • 机械设备租赁印花税谁交
  • 个体工商户在哪注销营业执照
  • 利润表中的本期金额栏内各项数字一般根据什么填列
  • 担保人的损失
  • 高铁票丢失怎么办
  • 电子承兑汇票到期前10天可以做提示付款
  • 个人贷款打入公司账户
  • 广告位租赁交印花税吗
  • 存货在财务报表中存在的财务操纵
  • 定额发票去年的能用吗
  • 一般纳税人可以开普票吗
  • 物业管理费属于政府购买服务吗
  • 小规模30万免税政策
  • 筹建期间的工资可以直接记到管理费用吗
  • 公司基本户没开影响报税吗
  • 预付的费用没有还没有收到发票
  • 公司理财取得的成果
  • 企业报税网上申报好了怎么导入
  • 哪些发票公司可以抵扣
  • 付款后多久开发发票
  • 应付职工薪酬核算内容不包括
  • 公司商品房出售流程
  • 玩游戏时切换窗口怎么弄
  • 冲减多计提税费
  • 对公账户是否有银行卡号
  • php正则表达式验证url
  • u盘无内容
  • 如何在mac上快速打开聚焦搜索
  • 默认网关不可用怎么修复
  • 确定注册资本的方法
  • php get post
  • phpifelse
  • 监狱劳教企业是国企吗
  • react-use
  • php的json_encode
  • 转让土地需要办什么手续
  • 企业一次性取得所得税
  • 协会会费怎么使用
  • web自动化测试平台
  • 保险公司应收保费汇报范文
  • 没有交过税怎么办
  • 研发费用大于收入
  • 织梦模板安装详细教程
  • 什么是指社会保障完全靠当前的收入
  • mysql备份数据
  • 防伪税控开票系统年费
  • 购货方收到销售折扣发票怎么入账
  • 新销售收入的确认条件
  • 税费损失
  • 建筑企业预缴所得税税率是多少
  • 预付检测费未收到发票
  • 原材料当废品卖可以吗
  • 下乡扶贫可以报什么岗位
  • 加油站汽油损耗分析
  • 票已收到、款未付会计分录
  • 增值税专用发票开了有什么用
  • 职工薪酬的范围及内容
  • 什么是递延所得税?
  • 哪些会计凭证可以抵扣进项税
  • mysql查询语句大全及用法
  • windows iis配置
  • win10选择一个选项
  • xmpdisabled什么意思
  • iis搭建php环境
  • 你不知道的关于现代主义的故事
  • 浮动浮动
  • 很不错的词语
  • 被调用的对象已与其客户端断开连接怎么办
  • 输出中断
  • Unity3D游戏开发标准教程
  • python生成txt文档
  • androidcontext传值
  • python爬虫的几种方法
  • 使用筷子就餐会不会传染乙肝病毒
  • 原生js实现移动站点头部搜索栏背景色透明度变化
  • 所属税务局怎么填写
  • 江苏增值税电子专用发票可以抵扣吗
  • 企业注册的步骤
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设