전체 글
Glide 공식 문서 읽기 스터디 - 6 (28pg~33pg)
Glide 공식 문서 읽기 스터디 - 6 (28pg~33pg)
2025.05.31AppGlideModule주어진 애플리케이션에는 하나의 AppGlideModule 구현만 있을 수 있다 캐시Glide는 이미지 로딩 시 다음과 같은 순서로 캐시를 확인합니다활성 리소스 (Active Resources): 현재 다른 View에서 사용 중인 이미지메모리 캐시 (Memory Cache): 최근에 로드되어 메모리에 저장된 이미지리소스 디스크 캐시 (Resource Disk Cache): 디코딩 및 변환된 이미지가 디스크에 저장된 경우데이터 디스크 캐시 (Data Disk Cache): 원본 이미지 데이터가 디스크에 저장된 경우 모든 캐시 계층에서 이미지를 찾지 못하면, Glide는 원본 소스(예: 네트워크 URL, 로컬 파일 등)로부터 이미지를 새로 로드합니다. 즉, 캐시에 이미지가 없을 경우 ..
Glide 공식 문서 읽기 스터디 - 5 (23pg~28pg)
Glide 공식 문서 읽기 스터디 - 5 (23pg~28pg)
2025.05.27Glide 캐시 및 로드 시스템 정리Glide의 이미지 로딩 및 캐싱 시스템을 이해하기 위한 정리입니다. Glide는 고성능 이미지 로딩을 위한 Android용 라이브러리로, 메모리 및 디스크 캐시, 비트맵 재사용, 요청 최적화 등을 지원합니다. 메모리 캐시 (MemoryCache)Glide는 LruResourceCache를 통해 LRU(Least Recently Used) 방식의 메모리 캐시를 제공합니다.기본 크기는 MemorySizeCalculator에 의해 자동 결정되며, RAM 용량, 화면 해상도 등을 고려합니다.setMemoryCacheScreens(n)으로 n개의 화면 분량의 이미지를 캐싱할 수 있도록 커스터마이징 가능합니다. @GlideModule class YourAppGlide..
Glide 공식 문서 읽기 스터디 - 4 (18pg~23pg)
Glide 공식 문서 읽기 스터디 - 4 (18pg~23pg)
2025.05.25Glide가 이미지 사이즈를 계산하는 방식 Glide는 이미지를 로딩할 때, 내부적으로 View의 getSize()를 이용해 목표 사이즈를 계산합니다. Glide는 무작정 원본 이미지를 가져오는 게 아니라, 뷰에 딱 맞는 사이즈의 이미지를 가져오기 위해 노력합니다.불필요하게 큰 이미지로 인해 발생하는 메모리 낭비, 깜빡임, 렌더링 지연을 방지한다는 뜻입니다. 적절한 URLView 크기에 맞는 해상도의 이미지 URL을 선택해서 불러올 수 있음 (커스텀 구현 시)적절한 이미지View 크기에 맞게 원본 이미지를 다운샘플링/크롭/리사이즈한 최적화된 비트맵 ViewTarget의 역할 Glide에서 ViewTarget은 이미지가 로드될 View의 실제 사이즈를 계산하고 추적하는 핵심 클래스 ViewTarget은 ..
EQL 오프라인 매장에서 Runnect
EQL 오프라인 매장에서 Runnect
2025.05.18배경제 첫 사이드 프로젝트이자 릴리즈 앱인 Runnect는 23년 5월에 런칭해서 2년이 지난 아직까지 서버가 열려있습니다. 이제는 팀원들 대다수가 직장인이 된만큼 추가 피쳐 개발은 하지 않고 있었는데요. 최근에 EQL 마케팅팀에서 근무하시는 분이 연락을 주셨습니다. 제가 만든 서비스를 누군가가 필요로 하는 것만큼 앱 개발자로서 보람 있는 일은 없는 것 같습니다. 학생 때 만든 앱이라 부족한 부분이 많지만 기능 점검을 해보니 문제는 없을 것 같아 답변을 드렸고 마침 근처에 올 일이 있어서 매장을 방문했습니다! 오프라인 QR로 앱 랜딩 좋은 제안 주셔서 재밌는 경험을 했습니다. 단순히 코스 이미지만 보여줘도 괜찮았을 텐데 관계자분의 열정에 자극을 받았습니다. 심지어 컨택 채널이 대부분 닫혀 있어서 연락..
Glide 공식 문서 읽기 스터디 - 3 (13pg~18pg)
Glide 공식 문서 읽기 스터디 - 3 (13pg~18pg)
2025.05.18TransitionOptionsTransitionOptions는 이미지 로드 완료 시 적용되는 애니메이션을 설정하는 데 사용됩니다. 예를 들어, withCrossFade()를 사용하면 이미지가 부드럽게 전환됩니다. Q. withCrossFade()란 무엇인가요?이전 이미지가 서서히 사라지면서 새로운 이미지가 동시에 서서히 나타나는 애니메이션 효과를 의미합니다. 이러한 효과는 이미지 전환을 부드럽게 만들어 사용자 경험을 향상시킵니다. RequestBuilderRequestBuilder는 Glide에서 이미지 로드 요청을 구성하는 핵심 클래스입니다. asBitmap(), asDrawable(), asGif() 등을 사용하여 로드할 리소스의 타입을 지정할 수 있습니다. Q. RequestBuilder의 타입이..
Glide 공식 문서 읽기 스터디 - 2 (7pg~12pg)
Glide 공식 문서 읽기 스터디 - 2 (7pg~12pg)
2025.05.04생성된 APIGlide가 @GlideModule로부터 자동으로 만들어낸 클래스 (ex. GlideApp)GlideApp.with(fragment).load(myUrl).placeholder(R.drawable.placeholder).fitCenter().into(imageView); q. Glide로 쓰는 거랑 GlideApp으로 쓰는 거랑 사용하는 입장에서 어떤 효용의 차이가 있는 건지? Glide모든 설정을 명시적으로 지정해야 함커스텀 옵션 적용 시 .apply(...)를 반복 사용해야 해서 코드가 장황해질 수 있음 GlideApp자주 쓰는 옵션을 메서드처럼 재사용 가능타입에 따른 커스텀 메서드도 가능 (ex. .asMyImage()) GlideExtensionGlideExtension 어노테이션이..