2011-11-03 27 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()。所以它在任何情况下都是相同的工作/功能。