마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

구글 이미지로더가 부드럽지 못합니다.

0 추천

안녕하세요.

그리드뷰에 웹에 있는 썸네일 이미지를 표시하기 위해 

구글 이미지 로더를 사용하였습니다.

그런데 생각만큼 스무스한 느낌이 없고 빠른 스크롤링을 하면 버벅대는 느낌과 잔상이 약간씩 남는데

해당 문제점을 어찌 고쳐야 될지 감이 서질 않습니다.

 

현재 이미지로더의 세팅은 아래와 같이 했습니다.

조언 부탁드립니다.!

Context context = getApplicationContext();
mConfig = new ImageLoaderConfiguration.Builder(context)
.threadPoolSize(3)
.threadPriority(Thread.NORM_PRIORITY - 1)
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(5 * 1024 * 1024))
        .memoryCacheSize(5 * 1024 * 1024)
        .memoryCacheSizePercentage(13) // default
        .denyCacheImageMultipleSizesInMemory()
        .diskCacheSize(50 * 1024 * 1024)
        .diskCacheFileCount(500)
        .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.FIFO)
.imageDownloader(new BaseImageDownloader(context))
.writeDebugLogs() // Remove for release app
.build();
// Initialize ImageLoader with configuration.
 
mOptions = new DisplayImageOptions.Builder()
.showImageOnFail(R.drawable.intro)
.cacheInMemory(true)
.cacheOnDisk(true)
.displayer(new SimpleBitmapDisplayer())
.handler(new Handler()) 
.displayer(new RoundedBitmapDisplayer(0))
.build();
 mImageLoader = ImageLoader.getInstance();
 mImageLoader.init(mConfig);
 
//구현 어댑터 부분중 일부
if(convertView == null) {
viewHolder = new ViewHolder();
convertView = mLayoutInflater.inflate(mLayout, parent, false);
viewHolder.thumImageView = (ImageView)convertView.findViewById(R.id.youtube_contents_thum);
viewHolder.titleTextView = (TextView)convertView.findViewById(R.id.youtube_contents_title);
viewHolder.percentTextView = (TextView)convertView.findViewById(R.id.youtube_contents_percent);
convertView.setTag(viewHolder);
}else {
viewHolder = (ViewHolder)convertView.getTag();
viewHolder.thumImageView.setImageBitmap(null);
}
final YouTubeVideoDataInfo youTubeVideoDataInfo = mYoutubeArrayList.get(position);
   String thumNailImageURL = youTubeVideoDataInfo.getThum();
   String title = youTubeVideoDataInfo.getTitle();
   ImageView thumNailImageView = viewHolder.thumImageView;
    mImageLoader.displayImage(thumNailImageURL, thumNailImageView, mDisplayImageOptions);
 
 
 
갸아악 (21,260 포인트) 님이 2014년 8월 14일 질문

1개의 답변

+1 추천
 
채택된 답변

제가 돌려볼 시간이 없어서 맞는지는 모르겠지만,

경험상 이미지 로더에 displayer를 걸게 되면 성능에 영향이 있습니다.

.displayer(new RoundedBitmapDisplayer(0))

displayer는 안걸어도 되니 이 부분을 빼고 돌려보세요.

skpkyle (1,280 포인트) 님이 2014년 8월 20일 답변
갸아악님이 2014년 9월 5일 채택됨
...