Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- NestedScrollView
- recyclerview
- 절대 주소
- flutter
- 프로세스
- http 역사
- 리사이클러뷰풀
- 내부 단편화
- 리사이클러뷰
- appcompatactivity
- 뷰홀더
- 상태관리
- AsyncListDiffer
- 플로이드워셜
- 안드로이드
- 디자인 패턴
- DiffUtil
- 물리 메모리
- Dispatchers
- appcompatacitivity
- Kotlin
- AAC
- apk 빌드 과정
- 자이고트
- viewModelScope
- http발전과정
- Android
- 데코레이터 패턴
- 운영체제
- GetX
Archives
- Today
- Total
hong's android
[안드로이드] 자이고트 본문
자이고트란?
자이고트는 안드로이드에서 가상 머신을 실행할때 준비된 자이고트 프로세스를 대기시켜놓고 실행시키는 것이다.
실행에 준비된 자이고트 프로세스를 복제해서 앱을 실행시키므로 앱 실행속도가 빨라진다.
자이고트 프로세스는 Init 프로세스에 의해서 deamons 프로세스와 함께 실행이 되는데 실행된 후 준비된 가상머신, preloading 되어있던 클래스들, 리소스들을 앱을 실행할때 불러오고 초기화시키지 않아도 되는 덕분에 앱 실행속도가 빨라진다.
각 안드로이드 애플리케이션은 독립적인 가상 머신 위에서 동작하는데,
자이고트가 없다면 어플을 실행할때마다 안드로이드 가상머신은 필요한 클래스, 리소스들을 생성해야하고 초기화해줘야한다. 앱을 실행할때 자이고트라는 프로세스를 복제하는데 자이고트가 참조하고 있는 메모리를 똑같이 참조해서 프로세스를만들고 해당 프로세스에서 앱을 실행한다.,
Zygote 프로세스는 애플리케이션이 실행되기 전에 실행된 가상 머신의 코드 및 메모리 정보를 공유함으로써 애플리케이션이 실행되는 시간을 단축시킬 수 있다.
COW(Copy on Write)
자이고트 프로세스가 복제를 할때 메모리 공간을 공유해서 사용하지 않고 참조형태로 사용해서 오버헤드를 줄인다.
Reference.
'Android > Android' 카테고리의 다른 글
[안드로이드] View lifecycle (0) | 2023.01.16 |
---|---|
[안드로이드] Handler, Content Provider, xml 레이아웃 (0) | 2023.01.14 |
[안드로이드] 포어그라운드 서비스 VS 백그라운드 서비스 (0) | 2023.01.10 |
[안드로이드] Weak Reference VS Strong Reference (0) | 2023.01.09 |
[안드로이드] Serializable과 Parcelable (0) | 2023.01.09 |