我相信很多人跟我一样,对于后面两个setImageDrawable和setImageBitmap有所疑惑的。这说明,我们都是菜鸟,O(∩_∩)O哈哈哈~
setImageResource(int rsId)这个一看方法名就知道是什么意思了,需要我们将Res文件的id传进去。也就是说,它是用于app本地文件的,对于网络的它就不行了。
setImageBitmap(Bitmap b)这个方法也很简单,传一个bitmap进去就行了,也可以是网络图片生成的bitmap。当然这是最表面的意思,它和setImageDrawable的区别,绝对不是这个。下面要看源码了
看了源码。是不是有种原来如此的感觉,没错,setImageBitmap最后也会调用setImageDrawable(Drawable d)方法。会把bitmap转成drawable。
so,图片如果已经是drawable的时候,就不要转成bitmap了,直接调用setImageDrawable吧。在我不懂bitmap和drawable的时候,我有时候会多此一举,把drawable的转成bitmap,实际上这真是愚蠢呀。
网友评论