Loading bitmap to ImageView using Async

I am loading a bitmap asynchronous (ASyncTask) to the ImageView (its a background picture). The user can pick a custom background picture. When I start the application, I am loading the bitmap to the ImageView, but that takes some time (like 0.3 seconds). In this 0.3 seconds, I see the default background (black screen). I do like to see the custom background immediately.

How can I achieve this?


With Glide I get exactly the same result, again a black screen for half a second.

If I use this code, without async, it works, but is good practise?

inputStream = new FileInputStream(createFile());
        return BitmapFactory.decodeStream(inputStream);

1 answer

  • answered 2017-06-17 17:58 Dany Poplawec

    Take a look at Picasso Library


    It works like this :


    With internal storage bitmap :

    Picasso.with(context).load(new File(path)).into(imageView);

    You can add an image that will be displayed during loading :