Android 如何以流的方式读取图片文件
在读取sdcard中的图片文件时,如何以流的方式读取图片文件,请参阅下面的函数:
[java] 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;
}
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); 代码要多很多,
可为什么要用这种方式,系统要提供这样的方法呢?具体原因,我没有深入学习,不过,网上有种说法,以流的方式读取,可能更利于垃圾回收,不知道真假!
摘自 心灵净土
补充:移动开发 , Android ,