이미지를 다운로드 할 때 Universal Image Loader를 사용하고 있습니까? 다음은 구성 및 표시 옵션입니다.discCacheUtil에서 파일 대신 비트 맵을 직접 가져 오기
File cacheDir = getApplicationContext().getCacheDir();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
getApplicationContext())
.discCache(new UnlimitedDiscCache(cacheDir)).threadPoolSize(3)
.denyCacheImageMultipleSizesInMemory()
.tasksProcessingOrder(QueueProcessingType.LIFO)
.discCacheFileNameGenerator(new HashCodeFileNameGenerator())
.build();
options = new DisplayImageOptions.Builder()
.cacheOnDisc().bitmapConfig(Bitmap.Config.RGB_565)
.imageScaleType(ImageScaleType.EXACTLY).resetViewBeforeLoading()
.showStubImage(R.drawable.bt_fine_dining).build();
모든 것이 잘 작동합니다. 하지만 이미 이미지가 존재하는지 여부를 확인하고 싶습니다. discCacheUtil을 사용하면 이미지 파일을 가져올 수 있습니다. [DiscCacheUtil.findInCache (imageUri, discCache)]. 하지만 파일 대신 직접 비트 맵 가져 오는 방법은 무엇입니까 ??
또한 cacheInMemory()와 cacheOnDisc()를 둘 다 지정하면 이미지가 두 번 저장됩니까 ?? 이미지가 메모리와 디스크 모두에 저장되므로 여기에 메모리를 추가로 사용합니까? 도와주세요. 사전에
덕분에
에서 당김 싶어하지만 아마 당신은 이미했던 DiscCacheUtil.findInCache를 반복 경우
. 따라서 파일에서로드하는 것이 더 간단합니다. 그냥하십시오 BitmapFactory.decodeStream (새 FileInputStream (file)); – grebulon