If you are passing an asset Uri
to something like an ImageView
, the framework will use BitmapFactory
to stream a downsampled version of the image from disk. This is the technique it uses under the hood.
Drawable
s do not use this technique, for performance reasons. It is not generally expected that huge images are stored as Drawable
s, and Drawable
loading happens many times over your app's lifecycle, so they are streamed from disk in their entirety and cached in memory.