在讀取sdcard中的圖片文件時,如何以流的方式讀取圖片文件,請參閱下面的函數:
- public static void ShowImg(String uri, ImageView iv) throws IOException {
- FileInputStream fs = new FileInputStream(uri);
- BufferedInputStream bs = new BufferedInputStream(fs);
- Bitmap btp = BitmapFactory.decodeStream(bs);
- iv.setImageBitmap(btp);
- bs.close();
- fs.close();
- btp = null;
- }
主要用到的類:java.io.FileInputStream,java.io.BufferedInputStream和Android.graphics.BitmapFactory
以流的方式讀取要比直接以文件的方式讀取:Bitmap btp = BitmapFactory.decodeFile(uri); 代碼要多很多,
可為什麼要用這種方式,系統要提供這樣的方法呢?具體原因,我沒有深入學習,不過,網上有種說法,以流的方式讀取,可能更利於垃圾回收,不知道真假!