關于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,實際上這真是愚蠢呀。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容