안드로이드 시스템·Compose 용어 사전
학습노트에서 용어를 누르면 여기로 옵니다. 생명주기·컴포넌트·Compose·성능·배포까지 25편에서 뽑았습니다.
57개 용어 · 상세 정리 57개
생명주기6
- Activity 생명주기onCreate · onStart · onResume · onPause · onStop · onDestroy
OS가 화면 상태를 바꿀 때 앱에 거는 콜백 계약. 짝을 맞춰 자원을 켜고 끈다.
- 구성 변경회전 · configuration change
회전·다크모드·언어 변경 시 Activity를 파괴하고 재생성하는 동작. 상태 유실의 원인.
- 프로세스 죽음process death · SavedStateHandle
백그라운드 앱을 OS가 메모리 회수로 통째로 죽이는 것. ViewModel로는 못 막는다.
- Fragment 생명주기viewLifecycleOwner · onDestroyView
Fragment 자신과 그 뷰의 생명주기가 다르다. 뷰 작업은 viewLifecycleOwner에 묶는다.
- 백스택태스크 · launchMode · singleTop
화면이 쌓이는 스택. 태스크 단위로 관리되며 launchMode가 쌓이는 방식을 바꾼다.
- 생명주기 인지 컴포넌트LifecycleObserver · DefaultLifecycleObserver · Lifecycle
콜백을 직접 만지지 않고 자원이 스스로 생명주기를 따라가게 하는 구조.
컴포넌트4
- Intent암시적 인텐트 · 명시적 인텐트 · PendingIntent
컴포넌트를 잇는 메시지 객체. 명시적은 대상을 지정하고 암시적은 능력을 요청한다.
- Service포그라운드 서비스 · Foreground Service · startForegroundService
화면 없는 백그라운드 실행 컴포넌트. 최신 안드로이드에서는 강하게 제한된다.
- BroadcastReceiver브로드캐스트 · registerReceiver
시스템·앱 이벤트를 받는 컴포넌트. 매니페스트 등록은 대부분 막혔다.
- ContentProvidercontent:// · ContentResolver
앱 경계를 넘어 데이터를 공유하는 표준 인터페이스. 연락처·미디어 접근의 통로.
Compose13
- recomposition리컴포지션 · 선언형 UI · mutableStateOf
상태가 바뀌면 그 상태를 읽은 컴포저블만 다시 실행하는 것. Compose의 동작 원리.
- rememberrememberSaveable
컴포지션에 값을 기억시켜 리컴포지션마다 다시 만들지 않게 하는 것.
- LaunchedEffect부수효과 · side effect
컴포지션에 들어올 때 코루틴을 시작하고, key가 바뀌거나 떠나면 취소하는 효과 API.
- DisposableEffectonDispose
등록/해제가 짝을 이루는 효과. 떠날 때 onDispose에서 반드시 정리한다.
- rememberCoroutineScope
콜백(클릭 등)에서 코루틴을 시작하기 위한 컴포지션 수명 스코프.
- Modifierpadding · Modifier 순서
컴포저블에 크기·여백·동작을 입히는 체인. 순서가 결과를 바꾼다.
- ScaffoldSlot API · innerPadding
상단바·하단바·FAB 슬롯을 갖춘 화면 골격. innerPadding을 반드시 소비해야 한다.
- MaterialThemecolorScheme · typography · 디자인 토큰
색·타이포·셰이프의 단일 출처. 역할 기반 색이 다크모드를 공짜로 만든다.
- LazyColumnLazyRow · items · contentPadding
보이는 항목만 구성하는 목록. RecyclerView에 대응한다.
- 안정성stability · skippable · @Immutable · @Stable
파라미터가 안 바뀌었음을 컴파일러가 확신할 수 있는 성질. 건너뛰기의 전제.
- derivedStateOf읽기 지연 · 람다 전달
자주 바뀌는 입력에서 드물게 바뀌는 결과를 뽑아 리컴포지션 횟수를 줄이는 API.
- CompositionLocalLocalContext · staticCompositionLocalOf · compositionLocalOf
컴포지션 트리를 따라 값을 암묵적으로 전달하는 통로. 남용하면 의존이 감춰진다.
- animate*AsStateAnimatedVisibility · animateContentSize · Transition
목표 값을 선언하면 런타임이 그리로 부드럽게 이동시켜 주는 애니메이션 API.
상태2
데이터5
- Room@Entity · @Dao · @Database
SQLite 위의 타입 안전 ORM. 컴파일 타임에 쿼리를 검증한다.
- Room 마이그레이션Migration · fallbackToDestructiveMigration
스키마 버전을 올릴 때 기존 사용자 데이터를 옮기는 절차. 빠뜨리면 앱이 죽는다.
- TypeConverter@TypeConverter · @Relation · @Embedded
Room이 모르는 타입을 저장 가능한 기본 타입으로 변환하는 함수 쌍.
- DataStorePreferences DataStore · SharedPreferences
코루틴·Flow 기반의 비동기 설정 저장소. SharedPreferences를 대체한다.
- Proto DataStoreprotobuf · Serializer
스키마를 정의해 타입 안전하게 저장하는 DataStore. 키 오타가 사라진다.
백그라운드1
네비게이션4
- Navigation ComposeNavHost · NavController · navigate
컴포저블 목적지를 그래프로 선언하고 백스택을 한 곳에서 관리하는 라이브러리.
- popUpTolaunchSingleTop · inclusive
이동하면서 백스택을 걷어내는 옵션. 로그인·탭 전환에서 필수.
- 딥링크App Links · 중첩 그래프
외부 URI로 앱의 특정 화면에 바로 진입하는 것. App Links는 검증된 도메인을 쓴다.
- 단일 Activity 아키텍처single activity
Activity 하나에 화면을 목적지로 두는 구조. 현재 안드로이드의 표준 형태.
코루틴3
보안4
- 런타임 권한dangerous · shouldShowRequestPermissionRationale
위험 권한을 실행 중 사용자에게 요청하는 절차. 거부 상태를 항상 처리해야 한다.
- Scoped StorageMediaStore · SAF · Storage Access Framework
앱이 자기 영역과 미디어 스토어만 보게 제한하는 저장소 모델. Android 10부터 강제.
- EncryptedSharedPreferencesKeystore · 안드로이드 키스토어
Android Keystore 키로 암호화된 설정 저장소. 평문 저장의 위험을 없앤다.
- 네트워크 보안 구성network security config · 인증서 고정 · certificate pinning
평문 트래픽 차단과 인증서 고정을 XML로 선언하는 설정.
빌드3
- R8난독화 · ProGuard · minifyEnabled · shrinkResources
코드를 줄이고 난독화하고 최적화하는 컴파일러. 릴리스 빌드의 핵심.
- App BundleAAB · Play 앱 서명 · Dynamic Feature
기기별 APK를 Play가 생성하도록 업로드하는 배포 형식. 2021년부터 필수.
- 빌드 변형buildType · productFlavor · sourceSet · build variant · 제품 플레이버 · 빌드 타입 · BuildConfig
buildType × productFlavor 조합으로 하나의 코드베이스에서 여러 앱을 만드는 구조.