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

로컬이미지 화면에 뿌려줄때 속도..(갤러리 구현 - UIL사용)

0 추천
안녕하세요. 다른게아니고..로컬 이미지 로딩속도 관련해서 글을 몇번 썼는데

뾰족한 해결방법이 없어서 다시 씁니다..

 

카톡이나 텔레그램..그리고 심지어 기본 갤러리 어플까지..

로컬이미지를 가져올때(스크롤을 휙 내릴때) 이미지 로딩속도가 상당히 빨라요..

근데 제가 구현한 갤러리는 속도가 너무 느리네요..한땀한땀 로딩하는 것처럼..;;;

 

아마 로직에 문제가 있을 거라고 보는데..

현재 UIL을 사용중에 있고.. 구글링 등을 통해서 뷰도 재활용하도록 하고

캐쉬,메모리 사이즈도 조절하고 스레드 풀도 10개로 지정하고..등등의 작업을 했으나

로딩속도는 여전히 느리네요..

 

그러다가 문득.. 원본 이미지를 가져와서 느린것 아닌가 라는 생각이 들더라고요.

궁금한 점은 아래 4가지 정도입니다..

제 목적은.. 로컬이미지를 가져오는 속도를 타 어플들 처럼 빠르게 하고 싶어요...

(기본 갤러리도 이미지 로드속도가 빠른데..커스텀한데 더 느리다니 굴욕.ㅠ)

 

1. 이미지가 핸드폰에 저장될때, 미디어DB에 썸네일이 별도로 저장되나요?

   예를 들어..1메가 짜리 이미지가 저장될때 미디어 DB에는 1메가 원본과 100KB 썸네일이 각각 저장되는 것인가요?

 

2. 만약 썸네일이 별도로 저장된다면 원본과 썸네일을 눈으로 비교하고 싶은데..자바 코드로 파일 크기 같은 것을 알 수 있을까요?

 

3. 만약 썸네일이 별도로 저장되지 않는다면, 적은용량의 썸네일을 만들고 그 썸네일들을 갤러리에 보여주는게 속도가 빠를 거 같은데...이건 어떤식으로 작업을 해야할까요..? 이미지 로드할때 리사이징해서 썸네일을 저장하고 썸네일을 로드하면..이 작업 자체가 또 속도면에서 안좋을 것 같은데...

 

4. SNS어플들 보면...어플 내의 사진 선택 기능에서 로컬이미지가 불려오고 클릭하면 큰 화면으로 확대되는데요. 이때 뿌옇던 이미지가 선명해지는 현상을 볼수가 있는데.. 갤러리에는 적은용량의 이미지를 보여주고 클릭 했을때 원본을 로드 하는거 같은데 맞나요?
치솟음 (3,710 포인트) 님이 2016년 2월 29일 질문

1개의 답변

+1 추천
 
채택된 답변

1. 네 별도로 저장됩니다.

저장하는 용량의 비율은 잘모르겠습니다.

MediaStore.Images.Thumbnails.DATA
MediaStore.Images.Media.DATA

2. 미디어스토어에서 데이터를 가져와서 비트맵으로 변환한후

bitmap.getByteCount() 를 사용하시면 이미지에서 사용하는 pixel 수를 리턴한다고 나와있네요..

해보지는 않았습니다.

 

4. 이건 잘모르겠지만 갤러리에서 보여줄때는 양이 많기 때문에 썸네일로 보여주고 상세화면에서는 원본을 로드하는게 맞는거같네요

캬옹이 (37,920 포인트) 님이 2016년 2월 29일 답변
치솟음님이 2016년 2월 29일 채택됨
감사합니다. 직접 해보도록 할게요~ 개발하다 막히는 것들...우선 코딩해보면서 되는지 안되는지, 어떻게 돌아가는지 익히고 있는데 이런게 많이 반복되니 지쳐가서,,ㅎㅎㅎ 그래서 이번꺼는 먼저 이해해보고 코딩하고 싶었습니다~ㅎㅎ
...