位置: 编程技术 - 正文

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

  • 代开专用发票需要交城建税吗
  • 土地税和房产税缴纳时间
  • 扶贫入股分红能领多久
  • 行政事业单位住房基金
  • 期初是什么
  • 百旺金赋的服务费必须交吗
  • 应交税费进项税额属于什么科目借贷方向
  • 小规模纳税人租金发票开几个点
  • 公司自用车辆出售如何交税
  • a3软件怎么反记账
  • 牛奶公司饲养奶牛生产牛奶
  • 土地增值税和房产税
  • 在登记账簿时,应在记账凭证上注明所记账簿的页数
  • 银行代扣出口快递费用
  • 销售回扣分录
  • 出租无形资产的收入
  • 企业拆迁补偿款要交哪些税
  • 采购退货退款怎么做账
  • 国税电子钥匙常见问题解答
  • 购买方纳税人识别号是什么意思
  • 会计师事务所执业许可和监督管理办法
  • 如何正确安装锯条
  • 企业废业怎样做会计分录
  • 单位代扣公积金比例
  • linux gcc命令详解
  • winpe怎么安装到u盘
  • 增值税出口服务包括什么
  • win7系统打印机在哪里
  • 企业汇算清缴费用
  • 清算期间会计分录
  • 挂靠借用资质账务处理?
  • 办公经费包括工资吗
  • 应付职工薪酬负数风险
  • 预扣预缴申报未缴税款
  • 收回款项的会计处理分录
  • php 迭代器
  • mongodb createindex
  • 呆账冲销是什么意思
  • 合并报表调整分录理解
  • 出口资质证书
  • 甲供工程范围
  • 金税四期上线企业还活吗
  • 企业年度报告填报时间
  • 公司注册登记需要多少钱
  • 销项税和进项税计算公式
  • 汇算清缴前跨年调账怎么调
  • 小规模没有销售额如何申报
  • 京东预付是什么意思
  • 为什么当月增加的无形资产当月摊销
  • 退回货款给客户怎么做会计分录
  • 缴纳房产税和城镇房产税
  • 应税劳务会计分录
  • 住宿费发票属于会计凭证吗
  • 是不是根据营业执照查询
  • 银行存款日记账电子表格模板
  • 增加委托代理人
  • sqlserver isnull在数据库查询中的应用
  • windows 配置
  • linux如何读
  • UPnPFramework.exe - UPnPFramework进程介绍
  • mac safari使用技巧
  • mac系统 硬盘
  • win10无internet怎么办
  • debian安装配置清华源
  • win7文件无法删除需要权限
  • 如何给windowsXP磁盘加密码
  • windows7如何关闭update
  • win10新建文件夹的快捷键是哪个
  • 有趣的linux命令
  • win7一开机就弹窗
  • Unity3D游戏开发(第2版)
  • node+express+ejs制作简单页面上手指南
  • dos命令怎么输入命令
  • javascript SpiderMonkey中的函数序列化如何进行
  • shell脚本中判断字符串是否相等
  • numpy使用心得
  • bootstrap boosting
  • android原生框架
  • 广东省电子税务局app下载官网
  • 江苏个人扣税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设