본문 바로가기

Android Architecture Component(AAC) Android Architecture Component(AAC) - 안드로이드 jetpack의 일부로 UI구성요소의 수명주기를 관리하고 데이터 지속성을 처리하기 위한 라이브러리 1. lifecycle - UI 구성요소의 수명주기를 관리해주는 컴포넌트 왜 사용해야할까? (1) 라이프 사이클(onCreate, onResume등) 메서드에 많은 코드가 저장되어 유지관리가 어려워진다. (2) Activity가 중지될때 장기실행이 들어있는 콜백코드의 경우 오류가 날 확률이 높다. lifecycle은 이벤트와 상태값을 보고 수명주기를 추적할 수 있으며 LifecycleOwner는 라이프사이클이 있음을 나타내는 인터페이스로 라이프사이클을 소유하고 있는 옵져버패턴의 서브젝트입니다. 이때 라이프사이클을 소유한다 라는 뜻.. 더보기
안드로이드 버전별 변경점 1. 안드로이드 9.0(파이) 변경점 (1) adaptive battery : 기계 학습을 사용하여 사용자가 가장 염려하는 앱의 시스템 리소스에 우선 순위를 매긴다. 애플리케이션이 Doze, 앱 대기상태 및 백그라운드 제한 사항에 맞게 최적화 되어 있으면 적응형 배터리를 즉시 사용할 수 있다. (2) 디스플레이 컷아웃 지원(노치 디자인) : 개발자옵션에서 컷아웃 시뮬레이션 기능도 있다. (3) 알림 및 스마트 답장(Notifications and smart reply) : 알림(Notification)을 좀더 유용하고 활용할 수 있도록 만들었다. 메시지 앱에서 새로운 MessagingStyle API의 장점을 활용하여 대화를 나타낼수 있고, 사진이나 스티커를 첨부할 수 있습니다. 십지어 스마트 답장(Sm.. 더보기
백그라운드 작업시 참고 백그라운드 작업시 참고사항 1. Thread, ThreadPool - 앱이 포그라운드에 있는 경우에만 수행되는 작업인 경우 2. Foreground Service - 완료까지 실행해야 하는 중요한 작업인 경우(메모리 부족이나 앱종료시에도 동작) 3. workmanager - 완료까지 실행해야 하고 지연가능한 작업인 경우 ** 비동기적인 작업 예약 1) jobscheduler : 특정조건에서 비동기적으로 백그라운드에서 작업을 예약하는 API로 android 5.0에서 처음 사용 2) alarmmanager : 특정시간이 실행하는 작업 3) firebase jobdispatcher : 안드로이드 5.0 이하도 된다. jobscheduler랑 비슷하다. 4) syncadapter : 장치와 클라우드간의 데이터.. 더보기