안드로이드 개발 질문/답변
(글 수 45,052)
그리드뷰 소스가
private Drawable ImageOperations(Context ctx, String url, String saveFilename) {
try {
URL imageUrl = new URL("url);
InputStream is = (InputStream) imageUrl.getContent();
Drawable d = Drawable.createFromStream(is, "src");
return d;
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public class ImageAdapter extends BaseAdapter {
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return p_link.get("1").size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
TextView text;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(80, 80));
imageView.setAdjustViewBounds(false);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 20, 8, 20);
} else {
imageView = (ImageView) convertView;
}
Drawable image = ImageOperations(context, "http://웹미지주소"), "image.jpg");
imageView.setImageDrawable(image);
return imageView;
}
이런식 이거든요
근데 이미지 수가 많아 질수록... 스크롤바를 내리거나 할때마다 버벅 거리내요
버벅 거리는 현상을 없엘 방법이 없을까요?. 이미지 로드 화면을 주면 될꺼 같긴한데...
이런 형식을 소스에 이미지뷰에 로드 화면을 주는 예제를 찾아볼수가 없네요...
아니면 다른 방법 없나요?..




이미지를 getView 하실 때마다 새로 불러오고 있네요
별도의 쓰레드를 돌려서 모든 이미지만 따로 불러 올 수있도록 하시고
차후 고도화 하실 생각이면 이미지를 저장하시는 방법도 고려해보시 바랍니다
if(이미지 파일 있음){
이미지 파일 불러오기
}else{
이미지 파일 다운로드
이미지 파일 불러오기
}
이런식으로요