나는 "Android universal image loader library (v 1.9.1)"을 사용하고 있는데 제가 설정 빌더이 줄을 사용하여 사용 (디스크) 캐시의 양을 제한하기 위해 노력하고있어 :android universal image loader에 대해 제한된 캐시를 올바르게 구성하려면 어떻게해야합니까?
.discCache(new TotalSizeLimitedDiscCache(cacheDir, 25 * 1024 * 1024))
여기 정말 바보 같은 일을 할 수
하지만, 이것은 내 캐시를 25MB로 제한하기로되어 있었고 현재 App 정보를 볼 때 이미 45MB 이상 이었으므로 작동하지 않는 것 같습니다.
내가 놓친 것이 있습니까?
덧글 : 캐시 번호에도 true로 설정된 'memorycache'가 포함되어 있으면 어떻게 될까요? 나는이 가정하에 일하고있다. 캐시는 단지 imageLoader
이고, 응용 프로그램/os 관점에서는 메모리를 사용하는 또 다른 관점이다. 그렇지 않다면 숫자를 설명 할 수 있을까요? 초기화
전체 코드 :
private void initImageLoader() {
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisc(true)
.build();
File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());
cacheDir.mkdirs();
ImageLoaderConfiguration config = new
ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.discCache(new TotalSizeLimitedDiscCache(cacheDir, 25 * 1024 * 1024))
.build();
ImageLoader.getInstance().init(config);
}
그리고 코드를 호출
(보여주는imageUrl
imageView
에) 너무
.cacheInMemory(true)
를 사용하지 않는 (false로 기본 메모리 캐시를 설정하면
ImageLoader.getInstance().displayImage(imageUrl, imageView);
메모리 캐시가없는 경우 발생하는 상황을 테스트하여 true로 설정합니다. – Nanne