2022. 2. 1. 16:50ㆍAndroid/깨알 개념 정리
Android 4대 컴포넌트
Activity
- application의 화면 구성 컴포넌트
- 이동시 스택 구조로 쌓임
Service
- application의 background로 실행되는 컴포넌트
- 화면이 없음, 네트워크 통신, DB 통신
BroadCast Receiver
- application에서 특정한 이벤트를 받아 반응하는 컴포넌트
- 관심 있는 이벤트가 발생할 시 이러한 브로드 캐스트가 전송
- 정적 브로드캐스트란 매니패스트에 등록하여 사용
- 동적 브로드캐스트란 콘텍스트에 등록하여 사용
Content Provider
- application내에서 사용할 수 있는 데이터를 공유하기 위한 컴포넌트
- 중앙 저장소의 역할 & 액세스 관리
- 생명주기 없음, 다른 앱의 데이터 변경 가능, 데이터베이스(Sqllite), 파일 입출력, Web 등을 이용할 때 사용
명시적 Intent & 암시적 Intent
명시적 Intent
- Intent에 클래스나 컴포넌트 이름을 명시, 호출할 대상을 명확히 알 수 있는 것
암시적 Intent
- 호출할 대상이 바뀔 수 있는 경우
싱글톤 패턴
개념
- 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴하는 디자인 패턴
특징
- 어떤 클래스가 오직 하나임을 보장, 전역적인 디자인 패턴, 메모리를 효율적으로 사용함
- kotlin 의 object는 싱글톤 패턴임
ANR (application not response)
개념
- 메인스레드가 일정 시간 어떤 작업에 잡혀 있을 때 발생함
해결 방법
- 메인스레드가 아닌 다른 스레드에서 처리 or progressbar
ContentResolver & ContentProvider
ContentProvider
- application내에서 사용할 수 있는 데이터를 공유하기 위한 컴포넌트
ContentResolver
- ContentProvider에 접근하기 위한 수단
dp & sp & px
dp
- 픽셀의 독립 단위, 화면 크기가 달라져도 동일한 비율로 보여줌
sp
- UI 레이아웃 정의 시 텍스트 크기를 지정하기 위해 사용(시스템 설정에 영향을 받음)
px
- 스크린 실제 단위
Process & Thread
Process
- 운영체제로부터 시스템 자원을 할당받는 작업의 단위
Thread
- 하나의 Process 내에서 할당받는 자원을 공유하며 실행되는 독립된 단위, 다중 thread 실행 가능
Context & ApplicationContext & ActivityContext
Context
- 현재 사용되고 있는 application의 포괄적인 적보를 지닌 객체
ApplicationContext
- application의 lifecycle을 가지며 application의 실행 ~ 종료까지 동일한 정보를 가짐
ActivityContext
- activity의 lifecycle을 가지며 onDestory 될 때 사라짐
'Android > 깨알 개념 정리' 카테고리의 다른 글
[SOLID principles of Android] SOLID 원칙 정리와 안드로이드에서 사용 예 (0) | 2022.07.04 |
---|---|
Android Interview / CS 정리 (0) | 2022.05.17 |
Android lifecycle 정리 (activity lifecycle, fragment lifecycle, view lifecycle) (0) | 2022.01.31 |
Android 개념 정리 - 1 (객체, 클래스, 자바 컬렉션, 추상 클래스, 인터페이스, 자료구조) (0) | 2022.01.31 |
프로그래밍 정리 (SOLID 원칙, 객체지향 프로그래밍, 함수형 프로그래밍, 의존성 주입, 스레드 세이프(Thread safe), TDD) (0) | 2022.01.31 |