@onseok
배움을 배포하기

Android 프로세스 수명 주기 이해하기

March 30, 2025

Android 앱을 개발하다 보면 자연스럽게 나 의 수명 주기에 집중하게 됩니다. 하지만 더 중요하면서도 종종 간과되는 것이 앱 프로세스의 수명 주기입니다. 특히 미디어 앱처럼 백그라운드에서도 지속적인 작업이 필요한 앱을 개발할 때는 프로세스 수명 주기를 이해하는 것이 필수적입니다. 이 글에서는 Android 프로세스의 수명 주기, 중요도 계층, 그리고 …


안드로이드 개발자를 위한 MPEG-DASH

March 25, 2025

요즘 모바일 중심 시대에서 효율적인 동영상 스트리밍은 좋은 사용자 경험을 제공하기 위해 필수적인 기능이라고 생각합니다. MPEG-DASH(Dynamic Adaptive Streaming over HTTP)는 모바일 환경에서 발생하는 다양한 스트리밍 문제들을 해결해주는 주요 표준으로 자리잡았습니다. 안드로이드 개발자라면 MPEG-DASH를 제대로 이해하는 …


Roborazzi로 안드로이드 스크린샷 변경점 시각화 테스트 구축하기

March 09, 2025

안드로이드 앱 개발 시 UI 변경사항이 제대로 적용되었는지 확인하는 과정은 필수적입니다. 특히 다양한 화면 크기와 해상도를 지원해야 하는 안드로이드 환경에서는 더욱 중요합니다. 하지만 코드 리뷰만으로는 이러한 UI 변경사항을 정확히 파악하기 어렵고, 특히 팀 규모가 커질수록 의도치 않은 UI 변경을 놓치기 쉽습니다. 최근 저는 회사 프로젝트에서 이 문제를…


JUnit4 vs JUnit5 그리고 Robolectric 호환성 문제 해결하기

March 07, 2025

안드로이드 개발에서 테스팅은 애플리케이션의 품질을 보장하는 중요한 단계입니다. 특히 JUnit은 자바와 코틀린 환경에서 가장 널리 사용되는 테스팅 프레임워크이지만, JUnit4와 JUnit5 사이에는 상당한 차이가 있으며 이는 안드로이드 테스트 환경에서 여러 문제를 일으킬 수 있습니다. 이 글에서는 JUnit4와 JUnit5의 주요 차이점, Robolec…


안드로이드 개발자가 놓치기 쉬운 UX (feat. 피츠의 법칙)

March 04, 2025

안드로이드 앱을 개발하다 보면 UI는 완벽해 보여도(적어도 프로덕트 디자이너분들께서 요구하는 사항들을 전부 만족하더라도?), 사용자 경험(UX) 측면에서 사소하지만 치명적인 요소들을 간과하기 쉽습니다. 특히 피츠의 법칙(Fitts’ Law)을 이해하면 버튼 터치 영역, 제스처 동작 등에서 흔히 놓치는 UX 포인트를 개선할 수 있습니다. 이번 글에서는 피츠…


AWS Amplify Android 오픈소스 기여하기

February 25, 2025

AWS Amplify는 모바일 및 프런트엔드 개발자가 AWS에서 안전하고 확장 가능한 풀스택 애플리케이션을 구축하고 배포할 수 있도록 지원하는 제품입니다. 회사에서 서비스하고 있는 프로젝트에서 S3로 로그 파일을 주기적으로 업로드하는 기능을 구현하고 꾸준히 모니터링하였는데, 여러 Android 기기에서 java.lang.OutOfMemoryError 오류…


책 『JVM 밑바닥까지 파헤치기』 후기

August 21, 2024

안드로이드 개발자라면 Dalvik, ART에 대해서 많이 들어봤을 것입니다. Dalvik은 초기 안드로이드에서 사용된 가상 머신으로, 메모리와 배터리 제약을 극복하기 위해 스택 기반 대신 레지스터 기반 바이트코드를 사용하여 효율적으로 동작하도록 설계되었습니다. 이후 Android 5.0부터는 가 기본 런타임 환경으로 전환되었는데, ART는 설치 시 를 통…