안드로이드 애플리케이션 프로세스 실행 과정
2022. 7. 26. 17:43
안드로이드/기초
https://medium.com/android-news/android-application-launch-explained-from-zygote-to-your-activity-oncreate-8a8f036864b Android Application Launch explained: from Zygote to your Activity.onCreate() This article explains how Android launches your application when a user clicks an app icon. The Android system does a lot of heavy lifting… medium.com 본 글은 해당 글을 번역한 내용을 다수 포함하고 있습니다. Java 프로세스의 진입점 pu..
Android 런타임 — Dalvik과 ART
2022. 7. 19. 00:12
안드로이드/기초
달빅 가상 머신(Dalvik virtual machine) 달빅 가상머신은 안드로이드 애플리케이션을 실행할 수 있는 가상 머신이다. 안드로이드 플랫폼 4.4.4 이전 버전에 들어간다. 안드로이드 스마트폰 초창기에는 베터리나 램 제약 등 현재에 비해 많이 열악하기 때문에 달빅 가상 머신은 적은 메모리 요구 사양에 최적화되어 있다. 그래서 전체 앱을 실행하기 전에 기계어로 컴파일 하는 대신 Just In Time 컴파일, 줄여서 JIT라는 전략을 사용했다. 달빅은 필요한 코드만 컴파일하고 런타임에 수행하기 때문에 많은 RAM을 절약할 수 있었다. JVM은 단일 인스턴스로 여러 애플리케이션에서 공유되어 사용되지만 DVM은 다중 인스턴스로 실행되도록 설계되어 있어서 좀 더 효율적인 운영이 가능하다. Dex 컴파..
안드로이드 빌드 프로세스
2022. 7. 14. 16:22
안드로이드/기초
빌드 구성 안드로이드 빌드 시스템은 앱 리소스 및 소스 코드를 컴파일하고 개발자가 테스트, 구축, 서명 및 배포를 할 수 있는 APK 또는 Android App Bundle(ABB)로 패키징한다. 안드로이드 스튜디오는 빌드 툴킷은 Gradle을 사용하여 빌드 프로세스를 자동화하고 개발자가 유연한 맞춤 빌드 구성을 정의하도록 허용한다. 각 빌드 구성에서는 모든 앱 버전에서 공통되는 부분을 재사용하면서 자체 코드 및 리소스를 세트를 정의할 수 있다. Gradle과 안드로이드 플러그인은 안드로이드 스튜디오가 설치되어 있지 않은 컴퓨터에서도 안드로이드 앱을 빌드할 수 있도록 독립적으로 실행된다. 빌드 프로세스 빌드 프로세스에서는 프로젝트를 Android Application Package(APK) 또는 Andr..