位置: 编程技术 - 正文

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万
  • 小规模纳税人销售自建不动产
  • 外籍人士如何在中国办理延长签证
  • 个人所得税预扣率10%
  • 小规模纳税人劳务费税率1%
  • 空调维修保养征收什么税?
  • 不征税收入确认递延收益如何填报
  • 公司收到待报解预算收入会计分录
  • 维修费收入怎么结转成本
  • 小规模纳税人不开票收入怎么报税
  • 经营所得税投资者减除费用
  • 工程预付款需要什么资料
  • 一般纳税人建筑公司都交什么税
  • 金税盘没票了
  • 增资印花税增加哪个税目
  • 房地产净利润率计算公式
  • 版权使用费属于什么税目
  • 统借统贷协议
  • 知识产权支出
  • 酒店自开农副产品收购发票需要缴税吗
  • 1697508871
  • 采购医药费差价会计分录
  • 累计摊销在资产里怎么算
  • 职工福利费支付范围
  • linux如何安装
  • 海关进口增值税专用缴款书
  • 订金账务处理
  • vue中如何使用weboffice
  • php注册功能的实现
  • php数据表
  • PHP:mcrypt_enc_get_key_size()的用法_Mcrypt函数
  • 票据贴现业务如何核算
  • wordpress创建
  • 现金支票提取备用金会计处理
  • 权益的定义特征
  • yii2前后端分离
  • 收到银行开的手续费发票怎么做分录
  • 学习率设置
  • 关于我和鬼变成家人的那件事
  • 母子公司转让不动产 契税
  • 其他综合收益是利润表项目吗
  • 在建工程应交税金怎么算
  • 进项税为什么记在贷方
  • 生产企业出口退税申报流程操作
  • 差旅费报销时如何处理
  • 上个月计提多了,这个月怎么办?
  • 其他货币资金怎么结转
  • 业务招待费税前列支
  • 税金及附加怎么算
  • 建筑施工企业检查的内容包括什么
  • 补缴以前年度企业年金可以税前扣除吗
  • 其他应收款包括哪些会计科目
  • sqlserver附加数据库时出错,请单击消息中的超链接
  • 一条的句子怎么写
  • windows server 2008 日志文件在哪
  • 电脑win7怎么样
  • windows 隐藏软件
  • ubuntu怎样调出命令行
  • 安装完win8后没有无线网络
  • ahci模式下安装win7蓝屏
  • win7 64位系统使用百度影音播放视频没声音没画面的故障原因及解决方法
  • wysafe.exe是什么
  • 命令行批量重命名
  • [置顶]星陨计划
  • Android自定义对话框
  • 批处理替换文件中的某个内容
  • 备份文件并上传到网盘
  • 微信小程序访问相册权限在哪里
  • node教学视频
  • chrome version
  • node的全局变量有哪些
  • windows安装包下载
  • js设计模式和开发实践
  • php7 数组
  • 信息流广告与原生广告的区别
  • 江苏国税电子税务局怎么申报
  • 山东省地方税务局印花税核定征收管理办法
  • 伊朗开心果进口价格
  • 怎么判断增值税能不能抵扣
  • 普通发票和增值税普票有啥区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设