Hi,欢迎来到华清远见移动互联网学院官网!国内王牌JAVAEE培训、Android培训、HTML5培训、UI培训、JAVA培训、VR培训机构!

  • 400-611-6270
  • 新浪微博
  • 微信
您当前的位置:移动互联网学院 > Android开发 > ImageView加载图片无法显示原因及解决

ImageView加载图片无法显示原因及解决

时间:2017-04-05 11:49 来源:Android开发学习网

今天要为大家分享的是Android开发中使用ImageView加载图片无法显示的问题及解决方法,希望对遇到同样问题的Android开发爱好者们有所帮助。

问题描述:ImageView加载图片无法显示

使用Android app访问服务器接口获取图片地址,然后调用Fresco库去展示远程图片到ImageView中,然而ImageView无法正常显示。一开始我以为是图片加载框架的,就直接引入了Picasso去加载。然而,问题依然存在,那么到底是什么原因导致的ImageView加载图片无法显示呢?我们先来看Android官方开发指南中这样一个地方,如图:

ImageView加载图片无法显示原因及解决

一般这些图片加载库都是通过一系列操作,最终将一个Bitmap设置到对应的ImageView里面,而图中的代码在Worker Thread里面给ImageView设置Bitmap,并不会产生任何异常,图片当然也不会显示,所以问题的原因就在这里。

反思:ImageView加载图片无法显示问题解决中我学会了什么?

在Android开发中,一定要正确处理ui线程(主线程)和工作线程(子线程),不然的话将会产生各种难以预料的问题,就如我开篇所说的这种问题。

题外话

android软件开发这个行业发展到现在已经很多年了,网上各种博客论坛写满了各种教程文章,但是各种人为的低级错误还是屡见不鲜。还是说到这个项目来,网络请求的封装看似循规蹈矩,代码书写也规范,但是各种问题潜藏其中。请求成功返回的onSuccess函数回调,居然是在子线程运行的,难怪每个Activity都要维护一个全局的Handler,而我接入新的接口,也是直接复制一份了事。这样的工程代码可能做到快速产出,但日积月累,到最终除了花费大量精力重构并无其他出路。

很多人都喜欢封装一套快速搭建项目的代码,但是细节方面很少考虑到,要么是存在严重bug,要么是过度封装导致代码可读性很差或者是难以扩展,这样的封装还不如不封装。这种问题,不止在新手开发者身上会出现,有些几年开发经验的人也是如此。以至于说,为什么我很反感一些国内的开发者所贡献的开源库,比如阿里的fastjson;也是为什么我几乎没贡献过什么开源的东西,因为我没精力去提供一份比较正常的代码。

我很庆幸,在我毕业后的第一份工作中,我遇到了一位真正的大神,是他为我的代码人生打下不错的基础,让我少走了很多弯路。加入华清远见,Android开发大神传授多年开发经验,帮你少走弯路,快速学好Android开发。

  • 北京

    010-82600385/6

    北京市海淀区西三旗悦秀路北京明园大学校内

  • 上海

    021-54485127

    上海市徐汇区漕溪路250号银海大楼11层

  • 深圳

    0755-25590506

    深圳市龙华新区人民北路美丽AAA大厦15层

  • 成都

    028-85405115

    成都武侯区科华北路99号科华大厦2层

  • 南京

    025-86551900

    南京市白下区汉中路185号鸿运大厦11层

  • 武汉

    027-87804688

    武汉工程大学卓刀泉校区科技孵化器大楼11层

  • 西安

    029-88756251

    西安市高新区高新1路12号天公大厦3层

  • 广州

    020-38342087

    广州市天河软件园柯木塱园5栋三层

  • 沈阳

    024-24349000

    沈阳市沈河区北顺城路137号锦峰大厦7层

  • 济南

    0531-88898293

    济南市高新区舜华路三庆世纪财富中心B3座6层

  • 重庆

    023-68064704

    重庆市九龙坡区渝州路87号双薪时代九楼

  • 长沙

    15010390966

    长沙市开福区芙蓉中路海东青大厦B座11楼

Copyright © 2004-2017 华清远见教育集团 版权所有,沪ICP备10038863号-3,京公海网安备110108001117号