안녕하세요. UIL을 사용해서 로컬 이미지를 앱에 뿌려주고 있는데요...
로딩이 느리고,, 너무 적은 양의 사진만 캐쉬?에 저장이 되는 것 같습니다.
그래서
1) 스크롤을 조금만 내렸다 올리면 이미 로딩된 사진들도 다시 로딩을 하는데
더 많은 사진을 캐쉬에 저장하려면 어떤 옵션을 건드려야하는지 아시는분 계신가요?
2) 카톡, 텔레그램 및 여타의 SNS를 보면 이미지 로딩속도가 굉장히 빠릅니다.
저는 로컬이미지를 가져오는데 왜이렇게 느린 느낌이 들까요??;;빠르게 하고 싶어요..
관련된 config, option 실제 이미지 로드르 하는 부분을 코드로 적어드리니..
도움 부탁드립니다. UIL을 사용하시는 분들은 어떻게 사용하고 계신지 궁금하네요..
config 설정( 어떤 분이 본인의 설정코드를 답글로 달아주셔서..적용했습니다.)
public static final int MEMORY_CACHE_LIMIT_VENUE = 1024 * 1024 * 12;
public static final int DISK_CACHE_LIMIT_VENUE = 1024 * 1024 * 128;
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
.threadPoolSize(2)
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.diskCacheSize(DISK_CACHE_LIMIT_VENUE)
.tasksProcessingOrder(QueueProcessingType.LIFO)
.writeDebugLogs()
.memoryCache(memoryCache)
.build();
ImageLoader.getInstance().init(config);
option설정
this.options = new DisplayImageOptions.Builder()
.resetViewBeforeLoading(false)
.showImageOnLoading(R.drawable.ic_photo_loading_white_24dp)
.showImageForEmptyUri(R.drawable.ic_photo_empty_white_24dp)
.showImageOnFail(R.drawable.ic_photo_fail_white_24dp)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(false) //사진이미지의 회전률 고려여부
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
실제 이미지를 로드하는 부분(어댑터의 getView 메서드)
public class GalleryAdapter extends BaseAdapter {
....
public View getView(int position, View convertView, ViewGroup parent) {
....
ImageLoader.getInstance().displayImage(mThumbPaths[position], gridViewHolder.imageView, options, new SimpleImageLoadingListener() {.....});
....
}