Android 中带有 Picasso 库的多个 ImageLoader

Multi ImageLoaders with Picasso library in Android

我正在使用 Picasso Library,我有(例如五个 ImageView,我需要用 Picasso 向他们展示我知道我们可以这样做:

ImageView footer1 = (ImageView) findViewById(R.id.img_thumbnail1);
        Picasso.with(MainActivity.this).load("http://url.com/1.jpg").into(footer);

        ImageView footer2 = (ImageView) findViewById(R.id.img_thumbnail2);
        Picasso.with(MainActivity.this).load("http://url.com/2.jpg").into(footer);

        ImageView footer3 = (ImageView) findViewById(R.id.img_thumbnail3);
        Picasso.with(MainActivity.this).load("http://url.com/3.jpg").into(footer);

        ImageView footer4 = (ImageView) findViewById(R.id.img_thumbnail4);
        Picasso.with(MainActivity.this).load("http://url.com/4.jpg").into(footer);

        ImageView footer5 = (ImageView) findViewById(R.id.img_thumbnail5);
        Picasso.with(MainActivity.this).load("http://url.com/5.jpg").into(footer);

但是,我们可以使用 AsyncTask 来加载这些多重加载吗?

或者最好的方法是什么?

Picasso 在上面的例子中是一个单例实例,这意味着你不会在每次加载图像时创建一个新的 Picasso 对象。此外,图像通过指定的任务调度程序智能地加载到后台队列中,因此执行上面的操作非常好。如果需要截取代码,就循环执行。

你当然可以使用AsyncTask,但它不会使它更快。反而会带来更多的代码复杂度和开销。

Picasso 还将根据设备连接类型(3G、Wifi 等)自动管理尝试一次下载的图像数量。