位置: 编程技术 - 正文

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

  • 多扣的增值税怎么做账务处理
  • 申报个人所得税在哪里报
  • 纳税会计的要素有
  • 小规模纳税人开普票要交税吗
  • 房地产中介门头
  • 计入资本公积的固定资产报废
  • 进口化妆品需要备案吗
  • 开民工工资专户
  • 投资收益免征企业所得税
  • 个税申报没填过租房信息,却有怎么回事
  • 服装公司的吊牌是什么
  • 未确认融资收益对应的科目是什么
  • 公司把钱借给个人
  • 处置固定资产账务处理例题
  • 小微企业享受减免税政策
  • 农产品为什么价格低
  • 商铺租赁合同的用途怎么写
  • 资产减值准备会计科目编码
  • 现金折扣为什么计入主营业务收入
  • 企业收到财政补助项目款
  • 合同和付款单位不一致发票应该开给谁
  • 土地转让收入怎么交所得税?
  • 贷款利息税前扣除比例
  • 外包业务账务处理
  • 发放工资的会计科目
  • 开票满500万一定会升一般纳税人吗
  • 收到员工偿还的借款8000元,所生成的凭证会计分录
  • 纳税人识别号和税号一样吗
  • 未分配利润怎么消化掉 避开所得税
  • 代扣代缴的城建税和教育费附加按委托方所在地的税率
  • 开增值税专用发票需要什么资料
  • 笔记本怎么开wifi
  • php表单验证实例
  • 出售无形资产的净损失不应计入
  • 秘鲁亚马逊木业有限公司招聘
  • 没收入长期待摊怎么办
  • 代扣代缴个税手续费返还会计分录
  • 限售股是好是坏
  • php设置header参数
  • 开发票的零税率和免税有什么区别
  • 文心为何意
  • 使用php免费发送短信
  • 餐饮发票归哪个部门管
  • 什么样的资产可以执行
  • 研发失败能做加工企业吗
  • SQLite优化方法
  • 织梦会员功能
  • 政府补助 项目资本金
  • 用于研发的材料做成产品出售后怎么做账
  • 现金短缺或溢余指的是什么
  • 一般纳税人哪种税
  • 公司申请破产后债务谁来还
  • mysql where join
  • 辞退补偿金的标准
  • 政府补助是否可以抵扣
  • 企业所得税季初和季末怎么算
  • 什么是叫资产负债表项目
  • 未开票收入申报有税务风险吗
  • 其他收益结转到什么科目
  • 废料进口报关
  • 营业外支出处置固定资产损失是坏账
  • 资产负债表基本公式
  • 账务调整会计分录
  • ubuntu16.04.1下 mysql安装和卸载图文教程
  • freebsd操作命令
  • 在windows下把绿色程序添加到鼠标右键的方法
  • win7旗舰版开机
  • dreamweaver是干嘛的
  • excel2016 win7
  • mac安装win10系统后怎么关掉f1快捷键
  • 命令行批量重命名
  • 添加或删除程序在哪win10
  • linux wc-w
  • svn报错禁止访问
  • python的threadpool
  • 如何处理女寝关系
  • 优化lr
  • python中__init__
  • 出口免税不退税主要适用于什么情形
  • 烟台税务app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设