2017-11-20 6 views
0

ImageViews에서 피카소가 어떻게 recyclerview와 동작하는지 이해하려고합니다.피카소 및 리사이클 러보기 이해

ViewHolder 피카소를 다시 사용하여 오래된 이미지를로드 할 수 있습니까? 내 말은 : mPicasso.load(url1).into(imageView); mPicasso.load(url2).into(imageView); 어떤 이미지가 url 또는 url2로로드 될까요?

어떻게 이미지로드 프로세스를 취소 할 수 있습니까? 내 말은

mPicasso.load(url1).into(imageView); // Start image loading 
.. 
// Image loading not finished, but 
// ViewHolder detaches 
// Should I remove any pending image loadings here or picasso will do it automatically? 

미리 감사드립니다.

+0

네,하지만 뷰가 분리 될 때 picasso가로드를 취소 할 수있는 빌드 트리거가 있습니까? –

답변

1

잘 피카소는 좋은 libarary이고 프로그래밍 두통 자체를 처리합니다. 나는 glide과 함께 일하는 것을 정말로 즐긴다. 피카소를 사용하지 않았다.

필자는 picasso가 뷰가 재활용되면 취소 작업을 처리 할 것이라고 생각합니다. 그렇지 않다면, here에 설명 된 절차 중 하나를 사용하여 쉽게 수행 할 수 있습니다.이 방법을 사용해보십시오.

+0

답변 해 주셔서 감사합니다! 피카소는 우리 시청자가 언제 분리되는지 알 수 없다고 생각합니다. 그래서 나는 수동으로 요청을 취소해야한다. –

+0

다음 링크를 확인하십시오. 요청을 취소 할 수있는 방법입니다. –

0

ViewHolder를 분리하면 ViewHolder에서 Picasso 요청을 취소 할 수 있습니다. cancelRequest()을 어댑터에서 사용하십시오.

@Override 
     public void onViewDetachedFromWindow(ViewHolder holder) 
     { 
      super.onViewDetachedFromWindow(holder); 
      Picasso.with(holder.notificationBannerIV.getContext()).cancelRequest(holder.notificationBannerIV); 
     }