그리드뷰를 이용하여 앨범을 구현 하고 있습니다.
구현은 완료 하였습니다만 부드럽지 않아서 질문 드립니다.
카카오톡의 갤러리를 보면 한장씩 이미지를 보여주게 하여 스크롤이 깔끔하게 되고 있는데요
제가 만든것을 실행하면 스크롤을 하고 해당 위치에 있는 이미지들을 한꺼번에 보여 주고 있습니다.
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mLiInflater.inflate(mCellLayout, parent, false);
ImageViewHolder holder = new ImageViewHolder();
holder.ivImage = (ImageView) convertView.findViewById(R.id.ivImage);
convertView.setTag(holder);
}
final ImageViewHolder holder = (ImageViewHolder) convertView
.getTag();
runOnUiThread(new Runnable() {
public void run() {
if (!mScoll) {
try {
String path = ((ThumbImageInfo) mThumbImageInfoList
.get(position)).getData();
Bitmap bmp = (Bitmap) mCache.get(path);
if (bmp != null) {
holder.ivImage.setImageBitmap(bmp);
} else {
BitmapFactory.Options option = new BitmapFactory.Options();
if (new File(path).length() > 100000)
option.inSampleSize = 10;
else
option.inSampleSize = 2;
bmp = BitmapFactory.decodeFile(path, option);
holder.ivImage.setImageBitmap(bmp);
mCache.put(path, bmp); // 캐쉬에 넣어준다.
}
holder.ivImage.setVisibility(VISIBLE);
setProgressBarIndeterminateVisibility(false);
} catch (Exception e) {
e.printStackTrace();
setProgressBarIndeterminateVisibility(false);
}
} else {
setProgressBarIndeterminateVisibility(true);
holder.ivImage.setVisibility(INVISIBLE);
}
}
});
return convertView;
}
이미지를 보여 주는 부분의 소스 입니다.
이부분만 처리를 하면 한장씩 로드를 할줄 알았는데 그래도 한 페이지의 이미지를 한번에 로드를 하더라구요.
한장씩 로드를 하고 띄워 주고 이렇게 가려면 어떻게 바꿔 줘야 할까요
조언 부탁 드립니다.