
안드로이드의 기초: 운영체제 구조와 커널 시스템

모바일 기기에서 여러 앱이 동시에 실행되고, 하나의 앱 내에서도 여러 작업이 병렬로 처리되는 현대 안드로이드 앱의 세계에서는 효율적인 멀티태스킹이 필수적입니다. 이 글에서는 안드로이드 플랫폼의 멀티태스킹 핵심 요소인 프로세스와 스레드에 대해 자세히 알아보겠습니다.

스마트폰 애플리케이션 개발자라면 메모리 관리는 피할 수 없는 도전 과제입니다. 안드로이드 기기는 다양한 하드웨어 사양을 가지고 있으며, 제한된 리소스에서 여러 앱이 동시에 실행되는 환경에서 효율적인 메모리 관리는 앱의 성능과 사용자 경험에 직접적인 영향을 미칩니다.

안드로이드의 앱 생태계는 보안과 사용자 데이터 보호를 위한 샌드박스 모델을 기반으로 하면서도, 다양한 통신 메커니즘을 통해 앱 간의 풍부한 상호작용을 가능하게 합니다.

안드로이드 플랫폼은 겉으로 보이는 UI와 앱 생태계 이면에 복잡한 내부 아키텍처를 가지고 있습니다. 이전 시리즈에서는 앱 간 통신과 데이터 공유 방법을 살펴보았는데, 이번 글에서는 더 깊이 들어가 안드로이드의 런타임 시스템과 컴파일 과정에 대해 알아보겠습니다.

안드로이드 코루틴의 기초에 대해서 소개합니다.

코루틴 빌더, 컨텍스트, 작업 관리에 대해서 설명합니다.

안드로이드 개발을 하다 보면 Intent는 정말 자주 만나게 되는 개념이다. 화면 전환할 때도, 서비스 시작할 때도, 브로드캐스트 보낼 때도 사용하니까. 그런데 PendingIntent는 좀 헷갈릴 때가 있었는데, 이번에 정리하면서 확실히 이해하게 되었다.

안드로이드 개발을 하다 보면 Activity 간에 데이터를 전달하거나 객체를 저장해야 할 때가 많다. 이때 마주치는 것이 바로 Serializable과 Parcelable이다. 둘 다 객체를 직렬화하는 방법이지만, 성능과 사용법에서 큰 차이가 있다.

안드로이드의 Context 에 대하여

안드로이드 Application 객체와 Manifest에 대하여

Activity와 Fragment의 생명주기에 대해서 알아봅니다

안드로이드 서비스(Service) 컴포넌트에 대해서 알아보자

안드로이드 브로드 캐스트(broadcast)란?

안드로이드 컨텐츠 프로바이더(Content Provider) 란?

안드로이드에서 Configuration Changes를 처리하는 방법

안드로이드 메모리 누수(Memory Leaks)와 ANR

안드로이드에서 딥링크 처리와 테스트 방법

안드로이드 액티비티의 태스크와 백스택

안드로이드 Activity와 Fragment 간 데이터 전달 방법

안드로이드 Activity Manager란?

SparseArray와 이점

안드로이드 런타임 권한 요청

안드로이드 Looper, Handler, HandlerThread

안드로이드 예외(Exception) 추적 방법

빌드 변형(build variants)과 플레이버(flavors)

안드로이드 접근성(Accessibility) 보장

안드로이드 파일 시스템이란?

안드로이드 런타임(ART), Dalvik, Dex 컴파일러

APK와 AAB, 그리고 R8 최적화

안드로이드 애플리케이션 용량 최적화

안드로이드 애플리케이션의 프로세스
안드로이드 개발을 하다 보면 커스텀 View를 만들거나 성능 최적화를 해야 하는 경우가 종종 있다. 이때 View의 생명주기를 제대로 이해하지 못하면 메모리 누수나 성능 문제가 발생할 수 있다. 이번 글에서는 안드로이드 View의 생명주기와 실무에서 자주 마주치는 문제
View, ViewGroup, ViewStub
안드로이드 커스텀 뷰(Custom View)
안드로이드 Canvas
View 시스템의 Invalidation
ConstraintLayout이란?
Android에서 SurfaceView와 TextureView
RecyclerView 란?
Android dp와 sp의 차이점