位置: 编程技术 - 正文

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

  • 纳税申报流程视频教程
  • 应纳税所得额是什么意思
  • 土地使用权转让是什么意思
  • 外资企业能投资国企么
  • 乙方收到甲方项目建设工程款如何记账
  • 餐饮注册个体工商户还是注册公司
  • 生产型企业出口退税计算公式
  • 个体工商户生产经营所得税税率表2021
  • 一般纳税人增值税申报操作流程
  • 单位劳务派遣的比例
  • 机械设备关税税率多少
  • 公司银行社保代缴怎么交
  • 委托销售怎么做分录
  • 企业所得税弥补亏损年限
  • 技术服务发票税率 5% 小规模
  • 超市购物卡开票可以做账吗
  • 技术维护费属于劳务还是研发和技术服务
  • 车辆处置入账价值包括哪些
  • 如何让自己的网站被百度收录
  • 为员工购买的团员保险
  • 加计扣除的会计要素
  • 2019年税改前后税率对比
  • linux如何使用
  • win10更新kb5006670
  • win7的本地连接在哪
  • 上一年度的费用能入今年账吗
  • tdxcef.exe进程
  • 最小计算机系统包括
  • 开发票如何计算税率
  • css伪类选择器实例
  • thinkphp i方法
  • vue数据可视化大屏布局
  • yolov5 libtorch
  • 一般情况下公司为什么会吊销
  • 微服务docker打包规范
  • macps字体怎么导入
  • 残疾人保障金计入哪个会计科目
  • 净资产怎么增长
  • 小企业机械作业指导书
  • 一般纳税人费用专票如何做账
  • MicrosoftSQLserver2014
  • 消耗品属于哪个会计科目
  • 股权司法冻结及司法划转解释
  • 新成立的小公司财务怎么管理
  • 技术转让和技术开发区别
  • 税务申报残保金
  • 土地增值税采用
  • 四联发票都需要盖章吗
  • 医院累计折旧会计分录
  • 支付定金的账务怎么处理
  • 为什么贷款要收手续费
  • 报废周转材料应负担的成本差异
  • 公允价值变动损益借贷方向
  • 教材出版 技术咨询服务费
  • 勘探费用会计分录
  • 分公司设立条件怎么写
  • 动态sql语句
  • supervisor.sock refused connection
  • 原os公测
  • 你一定不知道的56个历史真相
  • win7系统开机后很卡什么原因
  • winxp系统介绍
  • vsftpd 虚拟用户权限
  • linux删错文件
  • 示例代码
  • cad cl命令在哪里
  • socket pf_inet
  • js移动元素位置
  • unity如何导入资源文件
  • node .js
  • jquery 右键菜单
  • Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
  • python中ans
  • jquery事件的响应
  • 医院缴纳什么税
  • 山东省国家地税局官网
  • 江苏社保退工办理流程
  • 滴灌带设备一套多少钱
  • 四川省成都市地图高清版大图
  • 青岛市医保网上办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设