我有一个recyclerview,我使用Picasso从服务器加载图像。为了跟踪每张图像的响应时间,我节省了调用毕加索的时间,而在毕加索的onSuccess()回调中,我将得到最后的时间。问题是所有对服务器(网络)的图像请求都不会同时启动 - 尽管我们会向毕加索调用多个请求,因为异步网络请求的数量有限(这是正常的)。
有没有办法使用picasso 本身获取网络请求的开始时间,而不会影响性能。
Picasso.with(mContext)
.load(image)
.placeholder(R.drawable.placeholder)
.into(imageView, new ImageTimeTracker(image));
我的图片跟踪器将实现毕加索回调com.squareup.picasso.Callback
。
在构造函数中,我将得到开始时间
ImageTimeTracker(String url){
start = System.currentTimeMillis();
this.url = url;
}
@Override
public void onSuccess() {
end = System.currentTimeMillis();
Log.i(TAG, "time for "+url+" = "+(end-start)+"ms");
}
但如果我同时有很多图像请求,它将会累积。