0

서버에서 다시 요청하여 캐싱 된 이미지를 임의로 바꿔야합니다. 나는 현재로 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)

+0

어떤 UIL 버전입니까? 전체 오류 스택 추적 표시 – NOSTRA

+0

질문이 @NOSTRA에 의해 편집되었습니다. – Vituel

답변

관련 문제