ViewSwitcher prelaoding

时间:2015-12-03 09:53:15

标签: android image picasso viewswitcher imageswitcher

我目前正在开发一个幻灯片应用程序,该应用程序在自己的ImageSwitcher实现中显示带有动画的多个图像。在显示ImageSwitcher之前,我使用fetch()用Picasso预加载(缓存)图像。

下一张图片加载时将调用以下方法:

public void setImageSource(final String url) {
    final ImageView image = (ImageView) this.getNextView();
    image.setVisibility(View.VISIBLE);

    BitmapDrawable drawable = (BitmapDrawable) image.getDrawable();
    if (drawable != null && drawable.getBitmap() != null) {
        drawable.getBitmap().recycle();
    }

    PicassoUtils.getPicassoWithBasicAuthorizationFrom(user, getContext())
            .load(url)
            .noFade()
            .fit()
            .centerCrop()
            .into(image);

    showNext();
}

需要image.setVisibility(View.VISIBLE)才能使毕加索能够读取ImageView的尺寸。并且需要回收以节省内存,因为当我不回收imageView时,内存会在每个图像开关上升起。

但我有一个大问题。图像之间的时间是固定的,Picasso需要一些时间将图像(甚至从本地缓存)加载到imageView中,所以我有一点延迟。

问题是,我如何预加载下一张图片?

0 个答案:

没有答案