RSS어플을 만드는 중인데
파싱 한뒤로 밑에 소스 처럼 이미지태그를 처리를 하는데 속도가 너무 느립니다.
가량 이미지가 20개 이상일 경우 클릭하고 페이지 넘어가는데 10초 정도 걸리거나, 도중에 오류 뜨면서 종료되기 일쑤네요.
고수님들 후배에게 가르침 좀 부탁드립니다.
public void MakeDynamicView(List<String> strs) {
this.layout.setOrientation(LinearLayout.VERTICAL);
txtv = new TextView[strs.size()];
imgv = new ImageView[strs.size()];
for (int i = 0; i < strs.size(); i++) {
switch (ConvertTag.getTagType((String) strs.get(i))) {
// 이미지태그
case ConvertTag.STR_TYPE_IMG:
// 태그 안 url 취득
String urlStr = TagToURL("strs.get(i);
imgv[i] = new ImageView(this.itemDetailActivity);
try {
URL url = new URL("urlStr);
is = (InputStream) url.getContent();
drawable = Drawable.createFromStream(is, "");
is.close();
imgv[i].setImageDrawable(drawable);
} catch (Exception e) {
e.printStackTrace();
}
layout.addView(imgv[i]);
break;
default:
txtv[i] = new TextView(this.itemDetailActivity);
txtv[i].setText(ConvertTag.CleanTags(strs.get(i)));
txtv[i].setTextColor(Color.BLACK);
layout.addView(txtv[i]);
break;
}
}
}
public static String TagToURL("String tagStr) {
int src_point, start_url, end_url;
src_point = tagStr.indexOf("src", 1);
start_url = tagStr.indexOf("http", src_point);
end_url = tagStr.indexOf("\"", start_url);
String urlStr = "";
urlStr = tagStr.substring(start_url, end_url);
return urlStr;
}




이미지 다운받는 부분을 별도의 스레드로 분리하시기 바랍니다.