Android 如何以流的方式讀取圖片檔案

來源:互聯網
上載者:User

在讀取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); 代碼要多很多,

可為什麼要用這種方式,系統要提供這樣的方法呢?具體原因,我沒有深入學習,不過,網上有種說法,以流的方式讀取,可能更利於記憶體回收,不知道真假!


摘自 心靈淨土

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.