서버에서 다시 요청하여 캐싱 된 이미지를 임의로 바꿔야합니다. 나는 현재로 removeFromCache을 사용하고유니버설 이미지 로더 : 캐시에서 이미지를 제거하려고 할 때 ConcurrentModificationException이 발생합니다.
은 다음과 같습니다
public void loadImage(String url, ImageView view, boolean updateCache){
if(updateCache){
MemoryCacheUtil.removeFromCache(url, ImageLoader.getInstance().getMemoryCache());
}
ImageLoader.getInstance().displayImage(url, view);
}
문제는이 ConcurrentModificationException를 발생 때로는이다.
가장 좋은 방법은 무엇입니까?
- 내적으로 사용한 콜렉션에서 라이브러리에있는 을 제거하라는 호출을 동기화 할 수 있습니까?
- 도서관에서 나에게 다른 방법을 알려주지 않습니까? "miss miss"한 이미지를 임의로 만들고 싶습니까?
치명적인 예외 : 주요 java.util.ConcurrentModificationException java.util.LinkedHashMap $ LinkedHashIterator.nextEntry에서 (
UIL 버전은 1.8.4
스택 추적입니다 LinkedHashMap.java : 350) at java.util.LinkedHashMap $ KeyIterator.next (LinkedHashMap.java:370) at java.util.HashSet. (HashSet.java:76) at com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache.keys (LruMemoryCache.java:124) at com.nostra13.universalimageloader.core.assist.MemoryCacheUtil.removeFromCache (MemoryCacheUtil.java:102) at uk. frequency.glance.android.util.ImageLoadingManager.loadImage (ImageLoadingManager.java:120)
어떤 UIL 버전입니까? 전체 오류 스택 추적 표시 – NOSTRA
질문이 @NOSTRA에 의해 편집되었습니다. – Vituel