在Android中使用Picasso库的多ImageLoaders

时间:2015-07-12 08:38:50

标签: android android-asynctask picasso

我正在使用Picasso Library,我有(例如 ImageView我需要用{{1}显示它们我知道我们可以这样做:

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); 加载这些多次加载吗?

或者最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

在上面的例子中,

Picasso是一个单例实例,这意味着每次加载图像时都不会创建新的Picasso对象。此外,使用指定的任务调度程序将图像智能地加载到后台队列上,这样做上面所做的就完全没问题了。如果你需要剪切代码,请在循环中执行。

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

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