当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,