位置: 编程技术 - 正文

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

  • 财税2019 21号第二条
  • 长期零申报的公司容易注销吗
  • 无法收回的应收账款可以税前扣除吗
  • 购销合同印花税最新政策2023
  • 如何开局增值税发票
  • 二手车需要交哪些额外的钱
  • 盘盈的固定资产怎么做账务处理
  • 生产用天然气如何入账
  • 小规模旅行社差额征税的账务处理
  • 增值税期初应补税额计算
  • 开出商业承兑汇票到期会计分录
  • 免抵退税办法不得抵扣的进项税额包含了什么业务
  • 私募基金超募如何购买
  • 税控软件维护
  • 法人的往来款可以转为实收资本吗?
  • 房租收入应该计入什么
  • 开增值税专票交多少税费
  • 三证合一号码是纳税人识别号吗
  • 印花税走什么费用
  • 已抵扣未入账的红字发票
  • 待处理财产损益计入资产负债表哪里
  • 福利费的支付范围
  • 坏账准备冲回是借方还是贷方
  • 剑灵配置要求2020官方
  • 会计报表申报期限怎么填
  • 新成立企业什么时候有财务报表
  • 最终控制方合并报表账面价值
  • php编程风格规范要求
  • 拍卖本人文字作品原稿
  • 企业长期借款的利息,有可能计入的科目有( )
  • 建筑施工企业关键技术岗位八大员配置要求
  • elf.exe是什么程序
  • 土地增值税可以扣除的税金
  • 微信小程序完美修真攻略
  • linux-base
  • php echo语句
  • vscode怎么运行前端
  • 增值税发票认证抵扣时间规定
  • php获取当前页面url
  • vue页面嵌套iframe vue页面
  • nginx安装配置视频
  • javascript常用的数据类型
  • centos安装epel
  • 会计科目借贷方向图表
  • 行政事业单位固定资产划拨账务处理
  • 销货退回与折让属于什么科目
  • 三个数排序c语言程序从大到小
  • 销售费用主要包括哪些
  • 土增清算后再销售
  • 购买的手机可以退货吗
  • 管理费用冲减其他应付款分录
  • 企业利息收入需要缴纳所得税吗
  • 疫情期间增值税减免政策截止时间
  • 建筑企业预缴税款怎么算
  • 事业单位研究开设的课题
  • 企业年底亏损怎么结转
  • 贷款服务的利息怎么算
  • 上期留抵税额可以留多久
  • 对于事业单位无力支付的银行承兑汇票
  • 服务类公司有成本吗
  • 公开发行企业债券,发行人累计债券余额
  • win7系统的wlan在哪里?
  • linux查看端口数据
  • win10 20h2 微软账户
  • linux Intel 845集成显示驱动下载
  • cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题
  • linux开发android好处
  • perl hex
  • opengl visual studio
  • promise实例方法
  • Android AsyncTaskLoader需要注意的问题
  • jquery动态添加的元素怎么添加事件
  • shell脚本启动应用程序
  • unity 2021.2
  • js获取当前时间
  • [置顶] [Android Studio 权威教程]Android Studio 三种添加插件的方式
  • 安卓的所有权
  • 进口消费税怎么入账
  • 我国为什么不推行安乐死
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设