我正在将一个位图异步(ASyncTask)加载到ImageView(它的背景图片)。用户可以选择自定义背景图片。当我启动应用程序时,我将位图加载到ImageView,但这需要一些时间(如0.3秒)。在这0.3秒内,我看到默认背景(黑屏)。我希望立即看到自定义背景。
我怎样才能做到这一点?
修改
使用Glide我得到完全相同的结果,再过半秒黑屏。
如果我使用此代码,没有异步,它可以工作,但这是一个好习惯吗?
inputStream = new FileInputStream(createFile());
return BitmapFactory.decodeStream(inputStream);
答案 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))