| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- 종속항목삽입
- glide
- Hilt
- kotlin
- 안드로이드 스튜디오 API
- 안드로이드스튜디오
- include태그
- 공공데이터포털리사이클러뷰
- 데이터바인딩
- include이벤트처리
- SpringBoot
- hilt오류
- 리사이클러뷰
- 자바
- 안드로이드 스튜디오 JAVA
- SpringWebFlux
- 프론트엔드
- 안드로이드 스튜디오
- 안드로이드로딩창
Archives
- Today
- Total
내일은개발왕
[안드로이드 스튜디오] Glide 이미지가 복사가 된다! 와! 왜..? 본문
리사이클러뷰 이미지 없는 곳에 복사가 되면 안되는데 왜 될까^^..;;;

비슷한 오류 나시는 분들께 도움이 되면 좋겠다 싶어서 올려본다.
Glide에 대한건 설명하지 않고 넘어가겠다.
- 왜 이런 현상이 일어나는가?
추측이긴 하지만, 이미지 url이 메모리 상에 남아서 그러는 것이라 생각된다.
처음에 스크롤을 내렸을 땐 이미지가 없었지만 내렸다 올린 후, 이미지가 복사가 되었다.
- 해결 방안
이미지 url이 사라지지 않고 남아있다는 것이라 추측하였으니 이걸 초기화 해주면 된다 생각하였다
서버에서 이미지를 가져오는 것이기 때문에, 공백이 넘어오는 경우 ImageView 부분을 초기화 시켜주고, 사진이 없다는 것을 표현하는 이미지를 넣어주었다.
if(image != ""){
Glide.with(binding.infoSnsImage.context)
.load(URL+image)
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.placeholder(R.mipmap.image_loading)
.error(R.mipmap.image_load_fail)
.fitCenter()
.into(binding.infoSnsImage)
} else {
Glide.with(binding.infoSnsImage.context).clear(binding.infoSnsImage)
binding.infoSnsImage.setImageResource(R.drawable.no_image_photo)
}
공식 문서도 찾아보았는데, 공식에서도 이전 로드를 취소하도록 해 View의 내용이 변경되지 않도록 하라고 되어있었다.
그러니 리사이클러뷰로 이미지를 불러올 때, clear를 사용하도록 하자~

공식 문서링크는 아래와 같다
https://kofboy2000.github.io/glide-doc-kr/doc/getting-started.html
Glide v4 : 시작하기
원문보기:링크 기본 사용법 Glide 이미지 로딩은 쉽고, 대개 한줄로 가능 합니다. Glide.with(fragment) .load(myUrl) .into(imageView); 더이상 사용하지 않는 이미지 로딩의 취소도 매우 간단합니다. Glide.with(f
kofboy2000.github.io

'오류삽질,기타삽질' 카테고리의 다른 글
| [build.gradle] fragment directions 생성이 안돼. (0) | 2024.05.10 |
|---|---|
| [build.gradle오류] roomDB가 존재하지 않습니다. 장비를 파괴합니다. (0) | 2024.05.09 |
| [속보]갤러리에 접근 안돼..확인하니 manifest 업데이트 되었었다. (1) | 2023.12.23 |
| 구글 플레이스토어 콘솔 / Issue: Invalid or incomplete login credentials 해결 (1) | 2023.11.02 |
| Retrofit2 error 원하는대로 해줬잖아 뭐가 불만이야 (0) | 2023.05.18 |