Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 선형레이아웃
- BOJ
- java
- 부스트코스
- Node.js
- 데이터바인딩
- Android
- github
- codility
- 액티비티
- 지하철api
- 트렐로 삭제
- androidstudio
- 노마드코더
- 윈도우10
- CardView
- CS50
- 클린코드
- 노마드북클럽
- Windows10
- RecyclerView
- 사용자폴더
- listview
- 부스트캠프
- activity
- 백준
- 노개북
- 안드로이드
- 북클럽
- 알고리즘
Archives
- Today
- Total
Be Developer
[Android] 액티비티(Activity)와 백 스택(Back Stack) 본문
반응형
액티비티(Activity)
- 애플리케이션 구성 요소
- 화면 제공
- 하나의 애플리케이션은 여러 개의 액티비티로 구성되고 그 중 하나의 액티비티가 "주요" 액티비티로 지정됨
- "주요" 액티비티는 사용자가 애플리케이션을 처음 실행할 때 표시됨
백 스택(Back Stack)
- 액티비티들은 스택(백 스택)에 저장됨
- 액티비티가 시작되면 스택에 push, 액티비티가 소멸되면 스택에서 pop (후입선출, LIFO)
- 작업(Task) = 하나의 잘 짜여진 단위, 액티비티 컬렌션
- 작업의 모든 액티비티는 백그라운드에 있는 동안 중단되지만, 해당 작업에 대한 백 스택은 그대로 유지 (포커스만 잃는 것)
- 작업이 포그라운드로 돌아오면 사용자가 이전에 하던 일 계속 가능 (스택 맨 위에 있는 액티비티가 재개됨)
- 여러 개의 작업을 백그라운드에 한꺼번에 대기시킬 수 있음. 하지만, 사용자가 수많은 백그라운드 작업을 동시에 실행하면 시스템이 메모리를 복원하기 위해 백그라운드 액티비티를 소멸시키기 시작할 수 있고, 그러면 액티비티 상태가 손실됨 = 시스템이 이 액티비티를 재개하는 것이 아닌 재생성함 (∴ 작업 내용 보존을 위해 액티비티의 onSaveInstanceState() 콜백 메서드 구현)
- 백 스택의 액티비티는 재정렬 X
- 애플리케이션에서 사용자에게 하나 이상의 액티비티로부터 특정 액티비티를 시작하도록 허용하는 경우, 해당 액티비티의 새 인스턴스가 생성되어 스택으로 push (해당 액티비티의 기존 인스턴스를 맨 위로 가져오는 것 X) = 여러 번 인스턴스화 가능
- 액티비티의 상태 변경은 액티비티의 생명 주기 콜백 메서드를 통해 알려짐
반응형
'Android' 카테고리의 다른 글
[Android] 액티비티의 구성 변경 처리와 조정 (0) | 2019.04.29 |
---|---|
[Android] 액티비티 상태 저장 (0) | 2019.04.29 |
[Android] 액티비티 생명 주기(Activity Life Cycle) (0) | 2019.04.29 |
[Android] 액티비티의 생성, 선언, 시작, 종료 (0) | 2019.04.29 |
공공데이터 api 사용기 (0) | 2019.02.18 |
Comments