項(xiàng)目中使用Okhttp加載網(wǎng)絡(luò)圖片時(shí),通過response.body().byteStream()獲得InputStream流對(duì)象, 第一次需要用到該流去獲得圖片尺寸,而真正取圖片顯示時(shí)又使用了該流,當(dāng)你去使用BitmapFactory.decodeStream(is, null, ops)獲取bitmap時(shí),bitmap總是null。
第一次讀取InputStream對(duì)象后,第二次再讀取時(shí)可能已經(jīng)到Stream的結(jié)尾了(EOFException)或者Stream已經(jīng)close掉了,此時(shí)的流的起始位置已經(jīng)被移動(dòng)。 而InputStream對(duì)象本身不能復(fù)制,因?yàn)樗鼪]有實(shí)現(xiàn)Cloneable接口。此時(shí),可以先把InputStream轉(zhuǎn)化成ByteArrayOutputStream,后面要使用InputStream對(duì)象時(shí),再?gòu)腂yteArrayOutputStream轉(zhuǎn)化回來就好了。代碼如下:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注