如上问题,关于glide+recyclerview默认读取缓存,导致刷新时,即使对方更新了头像但是url还是原来url,就会去默认读取缓存,设置signature后,问题是解决了,但接着每次都会去刷新头像,缓存的意义就没有了,求解!
Glide.with(context)
.load(uri)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.crossFade()
.signature(new StringSignature(UUID.randomUUID().toString()))
.into(view);
사용자가 이미지를 업데이트한 후에만 새 아바타를 얻으려는 경우 중요한 문제는 URL에 해당하는 이미지 캐시가 유효하지 않음을 앱에 알리는 것입니다.
따라서 캐시된 매개변수부터 시작해야 합니다. URL에서 반환된 응답 헤더에 .
타사에서 제공하는 인터페이스를 사용하는 경우에는 캐싱하지 않고 매번 이미지를 업데이트할지, 아니면 가끔씩 손상시켜 업데이트할지 선택할 수밖에 없습니다.
가능하다면. 수정해서 받으세요. 아바타 인터페이스의 경우 아바타 업데이트 시 클라이언트 캐시를 무효화하기 위해 인터페이스를 작성하는 사람이 캐시 정보를 추가하는 것을 권장합니다.
Glide는 URL을 기준으로 캐시를 로드할지 아니면 다시 요청할지 결정합니다. URL은 변경되지 않았지만 이미지 콘텐츠가 빠르게 변경되는 경우 캐싱을 비활성화하는 것이 가장 좋습니다.
으아악