Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

안드로이드 클라이언트 Reflection 극복기

타다 favicon타다·Mobile·
JavaAndroidReflectionAnnotation ProcessingDexmaker
2013년 07월 31일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

타다의 안드로이드 클라이언트에서 Reflection으로 Cursor를 POJO로 변환하던 성능 저하를 Dexmaker와 APT 코드생성으로 해결하고, 컴파일타임 코드 생성을 통해 유지보수성과 실행 효율을 크게 개선했습니다.

구현 방법

  • Dexmaker를 이용한 바이트코드 생성으로 Reflection의 런타임 비용 감소
  • Annotation Processor(APT) 기반 Accessor 생성으로 런타임 Reflection 제거 및 코드 인라이닝 촉진
  • Velocity 템플릿으로 자동 생성 코드 관리, Binding 라이브러리로 JSON/Cursor/ContentValues 간 데이터 바인딩 추상화

주요 결과

  • 50회 수행 비교에서 APT 기반 접근이 모든 환경에서 최적의 성능으로 확인
  • 초기 실행 시 추가 코드 생성 없이 APK에 포함되어 시작 속도 개선
  • 컴파일 타임 반영으로 모델 변화에 신속한 대응 가능

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
No Image
66%

Accelerating our Android apps with Baseline Profiles

메타 (Engineering) favicon메타 (Engineering)·2025년 10월 01일
Android 온스타일 레거시 코드에 클린아키텍처 도입기 섬네일
66%

Android 온스타일 레거시 코드에 클린아키텍처 도입기

Cj온스타일 faviconCj온스타일·2024년 05월 09일
No Image
66%

타다 클라이언트 개발기

타다 favicon타다·2019년 05월 08일