There should be no difference between decodeStream() and decodeFile(). In fact, decodeFile() does the same thing you do here. It opens an inputstream and calls decodeStream(). See the source.
And Drawable.createFromPath() also just calls BitmapFactory.decodeFile(). So it's in any case the same work/functionality.
意思就是没什么区别