关于imageView设置图片的方法setImageResource setImageDrawable和setImageBitmap的区别

我相信很多人跟我一样,对于后面两个setImageDrawable和setImageBitmap有所疑惑的。这说明,我们都是菜鸟,O(∩_∩)O哈哈哈~
setImageResource(int rsId)这个一看方法名就知道是什么意思了,需要我们将Res文件的id传进去。也就是说,它是用于app本地文件的,对于网络的它就不行了。
setImageBitmap(Bitmap b)这个方法也很简单,传一个bitmap进去就行了,也可以是网络图片生成的bitmap。当然这是最表面的意思,它和setImageDrawable的区别,绝对不是这个。下面要看源码了

Paste_Image.png

看了源码。是不是有种原来如此的感觉,没错,setImageBitmap最后也会调用setImageDrawable(Drawable d)方法。会把bitmap转成drawable。

so,图片如果已经是drawable的时候,就不要转成bitmap了,直接调用setImageDrawable吧。在我不懂bitmap和drawable的时候,我有时候会多此一举,把drawable的转成bitmap,实际上这真是愚蠢呀。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容