使用Async将位图加载到ImageView

时间:2017-06-17 17:58:33

标签: android bitmap android-asynctask

我正在将一个位图异步(ASyncTask)加载到ImageView(它的背景图片)。用户可以选择自定义背景图片。当我启动应用程序时,我将位图加载到ImageView,但这需要一些时间(如0.3秒)。在这0.3秒内,我看到默认背景(黑屏)。我希望立即看到自定义背景。

我怎样才能做到这一点?

修改

使用Glide我得到完全相同的结果,再过半秒黑屏。

如果我使用此代码,没有异步,它可以工作,但这是一个好习惯吗?

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

1 个答案:

答案 0 :(得分:1)

看看毕加索图书馆

http://square.github.io/picasso/

它的工作原理如下:

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

使用内部存储位图:

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

您可以添加将在加载期间显示的图像:

.placeholder(getResources().getDrawable(R.drawable.default_image))