일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 테스트 자동화
- MotionLayout
- junit
- Reactive
- google play
- Animation
- PagingLib
- 동영상
- Android
- list
- Kotlin
- node.js
- rx
- mysql
- android13
- databinding
- SwiftUI Tutorial
- RxKotlin
- Observable
- Android 13
- node
- SWIFTUI
- MediaSession
- MediaPlayer
- php
- GCP
- paging
- mvvm
- Koin
- 인앱결제
- Today
- Total
목록분류 전체보기 (146)
봄날은 갔다. 이제 그 정신으로 공부하자

초창기 android는 비지니스 로직과 View로직의 분리를 구조적으로 지원하지 않고 개발 구조를 개발자들에 위임하였습니다. 숙련도 있는 일부 개발자들은 높은 자유도를 활용해 높은 안정성에 우수한 성능을 자랑하는 앱을 개발하였지만 대다수의 개발자들은 비지니스 로직과 View 로직을 분리하지 않고 기능 개발에 급급했습니다. 그러다 보니 마켓에 배포된 앱들에서 ANR과 비정상 종료를 보는 것은 어려운 일이 아니었습니다. 이러한 문제를 개선하기 위해 google은 MainThread에서 Network 및 DB 엑세스 제한, 백그라운드 프로세스 실행 제한 등과 같은 많은 제한을 두어 이러한 문제를 해결하였지만 반대로 개발 난이도의 상승을 불러 일으키게 되었습니다. 이에 google은 개발자 지원 정책으로 다양한..

개발하면서 흔히 겪는 상황이 여러개의 화면을 한꺼번에 종료해야되는 상황 입니다. 아래와 같이 다양한 해결 방법이 있습니다. - Activity + Fragment 구조를 통한 해결 방법 - Activity간 Result 전달 방식을 사용한 해결 방법 - Task Affinity를 사용한 해결 방법 문제 해결 방식은 위 3가지 방식 말고도 몇가지가 더 있지만 대표적인 방법 3가지만 기술하였습니다. 아무래도 Task Affinity 방식 외의 방식은 여러개의 화면을 한꺼번에 종료하기에는 최적화 되지 않은 땜빵이라는 느낌이 강해서 해당 문서에서는 "Task Affinity를 사용한 해결 방법"을 중점으로 설명합니다. 나머지 두가지 방식에 대해서는 추후 기회가 되면 별도의 문서로 기술하도록 하겠습니다. (안한다..