2011-11-03 51 views
4

設置ImageView圖像的方式會更好(使用更少的堆空間)嗎?從文件路徑設置ImageView的圖像。 BitmapFactory.decodeFile,BitmapFactory.decodeStream或Drawable.fromFile?

imageView.setImageDrawable(Drawable.createFromPath(path)); 

imageView.setImageBitmap(BitmapFactory.decodeFile(path)); 

is = new FileInputStream(path); 
    imageView.setImageBitmap(BitmapFactory.decodeStream(is)); 
    is.close(); 

的BitmapFactory會讓我設置inSampleSize,所以我不要拉得大位圖。 Drawable能爲我做這樣的事嗎?

BitmapFactory.decodeFile上的BitmapFactory.decodeStream是否有優勢?

回答

7

decodeStream()decodeFile()之間應該沒有區別。事實上,decodeFile()在這裏做的是同樣的事情。它打開一個輸入流並調用decodeStream()。見the source

Drawable.createFromPath()也只叫BitmapFactory.decodeFile()。所以它在任何情況下都是相同的工作/功能。