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

ListView에 ImageView가 있을 때 로딩이 원래 느린가요?

0 추천
ListView에 ImageView가 있어요

adapter를 커스터 마이징해서 서버에 있는 이미지를 표시하고 있는데요

너무 느려요 ㅠㅠ 서버를 확인해 보니 서버는 빠르고요

자료는 약 7개를 불러오는데도

너무 느려서 제가 뭘 잘못이해하는건가하는 황당함도 있어요

원래 ImageView가 리스트뷰에 있으면 느린건가요?
초봉초봉 (3,480 포인트) 님이 2014년 10월 28일 질문

3개의 답변

+1 추천
ListView 에 ImageView 가 있다고 해서 느려지지는 않습니다.

어느부분에서 느린지 체크해 보셔야 할것 같아요

 

서버에서 이미지를 다운로드 하는데 걸리는 시간,

다운로드 후 ListView 에 이미지가 바로 갱신되는지.. 등을 체크해 보세요.

 

참고로, 서버에서 이미지를 한번 다운로드 받으면 Disk 및 Memory 캐쉬를 이용하셔서

계속 서버에서 내려받지 않도록 하시는게 좋습니다.

 

getView 에서 계속 이미지를 내려 받으시는건 아니죠?? ^^
밍이~ (5,780 포인트) 님이 2014년 10월 28일 답변
멍이님 혹시 300kbyte 이미지 7개 정도면 몇 초정도에 로딩되시는지 물어봐도 될까요?

제가 테스트 모델이 갤노트4, 갤5, 엣지, g3 인데요 4~5초 정도 나오거든요.
이게 다운로드하지않고 계속 서버에서 받아서 그런걸까요? ㅠㅠ

답변 주셔서 감사해요^^
네~ 네트워크 상황에 따라 다르겠지만
그정도면 요새 LTE 로는 금방 받아질텐데요~~
감사합니다.^^ 열심히 해볼게요
0 추천
서버말고 그냥 기존 res폴더의 이미지로 이미지뷰+리스트뷰로 불러와도 딱히 느리진 않았는데요.

이미지 크기가 큰가요?
anci (19,950 포인트) 님이 2014년 10월 28일 답변
기존의 res 폴더는 빠른데 서버에 있는 이미지를 사용하면 느려요. ㅠㅠ 이미지 용량은 평균 300kbyte 정도되고요
0 추천

Adapter처리하는부분에 getView함수작성코드에서 뷰홀더패턴 적용하셨는지요..

ViewHolder패턴+이미지라이브러리 사용하시면 깔끔하게 처리가능합니다.

1.ViewHolder패턴

http://www.kmshack.kr/android-%EC%9C%A0%EC%97%B0%EC%84%B1-%EC%9E%88%EB%8A%94-viewholder-pattern

2.이미지라이브러리

http://helloworld.naver.com/helloworld/429368

 

ViewHolder패턴은 안드로이드 L (4.5)부터 RecyclerView.Adapter클래스의 상속을 통해 강제사용하게끔 만들어줍니다(MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> 이런식으로....)

지금은 아니지만 나중을위해서라도 뷰홀더패턴은 배워두시는게 좋을듯합니다..

 

//영문

https://developer.android.com/training/material/lists-cards.html

//한글

http://www.kmshack.kr/android-recyclerview

whdrb19 (23,520 포인트) 님이 2014년 10월 29일 답변
...