从文件路径设置ImageView的图像。 BitmapFactory.decodeFile,BitmapFactory.decodeStream或Drawable.fromFile?

时间:2011-11-03 20:28:28

标签: java android

设置ImageView的图像会更好(使用更少的堆空间)方式吗?

    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.decodeStream优于BitmapFactory.decodeFile吗?

1 个答案:

答案 0 :(得分:7)

decodeStream()decodeFile()之间应该没有区别。事实上,decodeFile()做同样的事情。它打开一个输入流并调用decodeStream()。请参阅the source

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