JavaEE培训

您当前的位置:首页 > 安卓培训 > Android开发 >

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

来源:未知 2018-08-16

今天要为大家分享的是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开发。

400-611-6270

Copyright ©2004-2024 华清远见 版权所有
京ICP备16055225号,京公海网安备11010802025203号