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 等)自动管理尝试一次下载的图像数量。
我正在使用 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 等)自动管理尝试一次下载的图像数量。