,我注意到緩存未正常工作,我期望:畢加索緩存似乎沒有我使用的畢加索來處理圖像加載和緩存在我的Android Udacity項目合作
正如您在左邊的片段中看到的那樣,圖像已經加載到更早的線程中。現在,使用相同的URL鏈接,我要求畢加索將該圖像放在右側的片段中。
這裏是產生在左片段的網格視圖(與先發生)的代碼:
String load = String.format(sImgUrl, sImgSize, movie.poster_path);
Picasso.with(mContext.getApplicationContext())
.load(load)
.placeholder(R.drawable.abc_btn_rating_star_on_mtrl_alpha)
.error(R.drawable.abc_btn_rating_star_off_mtrl_alpha)
.resize(550, 775)
.into(viewHolder.imageView);
然後在這裏是一個運行在右片段的代碼:
Picasso.with(getActivity().getApplicationContext())
.load(String.format(sImgUrl, sImgSize, mMovieObj.poster_path))
.error(R.drawable.blank)
.fit()// .resize(366, 516)
.into(mMovieThumb, new com.squareup.picasso.Callback() {
@Override
public void onSuccess() {
Utils.log(sw.toString());
Utils.hideViewSafe(mMovieThumbProgress);
}
@Override
public void onError() {
Utils.log(sw.toString());
Utils.hideViewSafe(mMovieThumbProgress);
}
});
我使用在每個相同的應用程序上下文以及負載文本:畢加索應該
String.format(sImgUrl, sImgSize, mMovieObj.poster_path))
和
getActivity().getApplicationContext()
所以,我想檢測完全相同的URL負載時鏈接會在短時間內出現在相同的上下文中,然後畢加索會將完全相同的圖像加載迴應用程序。
如果這不是畢加索緩存如何工作,那麼它是如何呢?
不知道它是如何工作的,但我猜:尺寸很重要。畢加索創造不同版本的相同圖像可以解釋這種行爲。 – zapl
嗯,我以爲畢加索會下載原始圖像,然後在隨後的調用中調整大小。如果這實際上是畢加索正在做的事情(只緩存確切的大小)是否有辦法禁用,並讓畢加索緩存原始圖像? –