位置: 编程技术 - 正文

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

  • 建筑业如何分项目核算
  • 个体工商户税收优惠政策2023年
  • 有主营业务收入就一定有销项税吗
  • 软件开发增值税免税吗
  • 慰问金计入什么明细科目
  • 个税手续费返还计入哪个科目
  • 应收账款借方负数的会计分录怎么做
  • 当月发票不够用领用了下个月,下个月还能再领吗
  • 企业营改增后的会计处理有何变化
  • 企业预付一年的房租怎么做分录
  • 事业单位发生管理费用
  • 淘宝店注册公司流程
  • 招聘发票可以抵扣吗
  • 关于固定资产的企业案例
  • 个人拿身份证可以贷款吗
  • 车辆租赁的增值税率
  • 减免所得税额和抵免所得税额的区别
  • 研发废料收入实务中如何冲减研发费用?
  • 定额发票存根联丢失如何处罚
  • 公司买的固定资产还没使用
  • 企业所得税是当期收入吗
  • 怎么区分汇总原始凭证与累计原始凭证?
  • 购买用于产品设计拍摄的道具怎么做账?
  • 以前年度损益调整会计分录
  • 增值税纳税申报表在哪里查询
  • 工程预缴增值税2019最新规定
  • 给外国教授发邮件最后一句
  • 电脑主板上的电池没电了会怎么样
  • 购货优惠的会计科目
  • 小米6桌面图标消失了
  • 电脑方案表格
  • 高新技术企业如何节税
  • 农产品进项税额转出怎么算
  • php递归遍历文件夹
  • 无偿接收股权
  • 大溪地海岛在什么地方
  • php加载mysql
  • html入门基础
  • addr指令
  • 研发支出资本化支出属于什么科目
  • 织梦如何使用
  • 如何检查文件是否有毒
  • 劳务派遣差额征税政策
  • 会计税法的差异
  • 收到季度房租需要分摊吗
  • 企业技术服务费有税前列支限额吗
  • 过期食品返厂会重新打日期吗
  • 工程款开票数量和单价要填吗
  • 自产产品用于职工食堂,确认收入吗
  • 在什么情况下会冻结微信零钱
  • 存货怎样进行账务处理
  • sql没有数据库
  • 如何清除sql2008r2日志
  • sqlserver正则表达式替换列
  • mysql里面的索引
  • jdbc数据库连接步骤
  • mysql压缩包安装教程5.7.32
  • windowsxpwindows7都是
  • windows10预览版怎么样
  • avgcc32.exe进程是什么文件产生的 avgcc32进程信息查询
  • thinkpad8装系统
  • windows 10 mobile--移动版
  • 免安装版怎么用
  • 结构 类型
  • cocos2dx开发鸿蒙app
  • mac vscode opengl
  • easyui combotree加载静态数据问题(选不上)解决方法
  • Jqprint实现页面打印
  • linux4个主要部分
  • jquery1.8
  • jquery示例
  • 手机端apk反编译工具_android反编译工具
  • bash shell脚本编程经典实例(第2版)
  • jquery用什么编写
  • python 两个列表一一对应
  • jquery 鼠标
  • 湖北生育登记网上服务大厅官网查询
  • 开票系统增值税专票税率选多少
  • 税务行政执法风险防范与控制
  • 2020税控盘升级后怎么使用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设