位置: 编程技术 - 正文

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

  • 增值税进项税抵扣时间
  • 缴纳以前年度所得税怎么做账
  • 手机上税票怎么开
  • 以设备投资入股要交增值税
  • 车船税保险公司会不会多收
  • 应交税费是没有增值税吗
  • 公司只有一个人可以不交社保吗
  • 增值税进项加计扣除计入哪个科目
  • 增加固定资产原值
  • 利息收入红冲怎么做
  • 汇算清缴后发放的工资
  • 企业出口收汇核销怎么处理?
  • 建筑公司不需要预缴增值税的有
  • 减免税期间是什么意思
  • 个人所得税怎么查
  • 防伪税控开票系统SOAP服务端
  • 增值税普票需要填写什么内容
  • 当期出售其他权益怎么算
  • 小规模纳税人建筑行业
  • 小微企业附加税怎么算
  • 已经发货了点击确认收货可以吗?
  • 公司发放的车补扣个人所得税吗
  • 其他出库单如何记账
  • powershell不显示用户名
  • 苹果Mac系统怎么用光盘安装
  • win11隐藏图标怎么弄出来
  • vpn加速有什么用呢?
  • psdrvcheck.exe - psdrvcheck是什么进程 有什么用
  • 事业单位年末收入怎么算
  • 购货方收到红字发票怎么报税
  • 微软win11预览版
  • 企业备用金预借多久到账
  • uniapp怎么运行到手机模拟器
  • php动态页面实例
  • 代开专用发票的流程资料要求
  • 摊销租赁费的会计分录
  • 应收票据影响现金流吗
  • 货款退回账务处理方法
  • 增值税专用发票怎么开
  • 金蝶怎么加人
  • 深究Python中的asyncio库-shield函数
  • 弃置费用摊销例题
  • 工程施工预付款20%的规定
  • 快速显示隐藏单元格
  • 营业执照需要提交什么材料
  • 专票没有抵扣联可以作废吗
  • 税务怎么认定虚列工资
  • 公司缴纳养老保险最低标准
  • 补缴以前年度所得税怎么做会计分录
  • 电梯折旧率多少
  • 发表文章开什么发票
  • 全资子公司并入母公司
  • 代开专票作废税已经交了如何做分录?
  • 账务核对包括账表核对吗
  • 商品流通企业有哪些企业
  • mysql添加myini
  • MySQL去除重复数据
  • sqlserver存储过程返回多个结果集
  • mysql根据另一张表更新
  • lol进入游戏后电脑没声音
  • linux crontab -e
  • mac 应用
  • linux telnet用法
  • win7 显示日期
  • Win7旗舰版系统镜像文件
  • win8任务栏在底部不显示
  • 将list转换为json字符串
  • c++ not1
  • 批处理中的感叹号
  • jquery怎么设置宽度
  • jQuery Ajax使用FormData对象上传文件的方法
  • unity改vs版本
  • 基于JAVASCRIPT实现的可视化工具是
  • jquery原理解析
  • 湖北电子网上税务怎么交
  • 化妆品的消费税率为
  • 安徽国税发票
  • 淄博新农合怎么网上缴费
  • 银行收取手续费可以抵扣进项税额吗
  • 深圳国税申报系统恢复数据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设