位置: 编程技术 - 正文

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系统联网)

  • 最新个税手续费返还会计分录小规模纳税人
  • 如何理解递延所得税资产和递延所得税负债
  • 服装加工费税收编码
  • 停车费定额发票税率
  • 电子商业汇票怎么兑现
  • 股票交易费用计算器
  • 批量转账和代发工资
  • 净资本和净资产区别
  • 以前年度税款需要交税吗
  • 住宿费机打发票税率多少
  • 小规模纳税人是简易计税吗
  • 专票开错了可以作废吗
  • 2017年一般纳税人增值税优惠
  • 企业当年发生的某些费用
  • 新政出台
  • 应扣缴税额是什么意思
  • 企业所得税看哪里
  • 固定资产折旧方法可以变更吗
  • 预存话费返还怎么操作
  • 公司成立之后有人投资怎么做分录?
  • 出纳现金日记账怎么记账
  • 预收账款预提费用
  • 电子发票已开出客户退款会计处理是怎样的?
  • 金蝶现金流量表附表项目如何指定
  • 跨年度的收入如何做分录
  • 房地产企业纳税申报需要报哪些报表
  • 工人的意外险如何赔付
  • 怎么安装Win7系统
  • win10无法以管理员身份运行的原因及解决方法
  • php获取api内容
  • 期间费用转入本年利润
  • 白鹤芋好养活吗
  • 土地测绘费用会计科目
  • 增值税退税是否属于政府补助
  • 布莱顿小镇介绍
  • 浅析人物形象的论文开题报告
  • 材料款零头抹掉怎么做凭证
  • vue 组件调用
  • wordpress标签tag文章
  • 交税务局的工会经费现金流
  • 暂估入库有风险吗
  • 出纳收到现金会计分录
  • wind安装
  • 问答系统网站模板
  • 工资计提啥意思
  • 成立一般纳税人的利弊
  • 无形资产摊销会计凭证
  • 残保金会计分录人员经费
  • 企业增值税的征收方式
  • 普票部分红冲发票需要收回原发票吗
  • 外贸企业账务处理流程举例讲解
  • 会计分录如何分配利润
  • 管理费用现金流量附表指定
  • 现金日记账根据记账凭证填写吗
  • 4s店销售走了该找谁
  • 营改增后如何纳税
  • 员工团体意外保险受益人是谁
  • 如何调整以前年度错账
  • 成本费用率计算公式中包含税金及附加吗
  • sql语句行转列
  • 使用u盘安装macos
  • linux文件latin1转换为utf
  • 如何关闭win8快速启动
  • android 音频焦点丢失 媒体按键
  • popup怎么用
  • 使用netcat(瑞士军刀)进行文件传输
  • 环境变量windows
  • node.js底层原理
  • shell脚本实现自动部署
  • shell 自定义函数
  • unity3d spine
  • java轻松学
  • 适配是什么
  • jquery div innerhtml
  • 安全的代码
  • javascript零基础
  • js赋值input
  • 什么是城建税和土地税
  • 税务局稽查科有什么处理企业的办法
  • 深圳车牌注销需要车辆到场吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设