일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- TinyMCE
- 인텐트
- Activity
- #청주주님의교회
- JavaScript
- CSS
- 에디터
- Intent
- 안드로이드
- 자바
- 회원가입
- Selector
- 청주
- 생명주기
- java 8
- 글쓰기
- 게시판
- 웹개발
- Android
- androidstudio
- 제이쿼리
- 주님의교회
- 안드로이드 AVD
- jQuery
- Spring
- Resources
- 영성
- Java
- 프로그래밍
- 아이콘
- Today
- Total
공부하는 블로그
(안드로이드 프로그래밍) Activity? Activity 생명주기 본문
액티비티(Activity)
setContentView(Layout...)을 통해 화면에 보이도록 하는 요소들은 디스플레이 함
Intent를 통해 다른 Activity 간의 화면 전환을 할 수 있음
이 때, 다른 Activity를 실행할 때 데이터를 보낼 수 있는데, 반대로 새로 실행된 Activity가 호출자 Activity에게
데이터를 보내줄 수도 있음
- startActivityForResult()
안드로이드 실행시
1) onCreate() ---- Activity 초기화 수행
2) onStart()
3) onResume() ----사용자에게 보여지는 단계
4) onPause() ---- 잠시멈춤 ,Back버튼 , Home버튼
5) onStop()
6) onDestroy() ---- 안드로이드 OS가 함 사용자가 할 수 없음
액티비티 생명주기
액티비티는 다음 그림과 같은 생명주기(LifeCycle)를 가지고 있다. 이 생명주기에 따라 적절한 메소드가 호출되므로 이를 숙지해서 액티비티를 작성해야 한다. 물론 다음 내용은 안드로이드 개발을 어느 정도 해봐야 감이 오는 부분이니 지금은 잠시 눈요기만 하고 나중에 다시 살펴보기 바란다.
액티비티 생명주기는 onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDestory()순으로 실행되며, 경우에 따라서 onRestart() 메소드가 호출되기도 한다. 이에 대한 자세한 설명은 다음의 액티비티 생명주기 표를 참고하기 바란다.
API 액티비티 생명주기
메소드 | 설명 | 다음 메소드 |
---|---|---|
onCreate() | 액티비티가 생성될 때 호출되며 사용자 인터페이스 초기화에 사용됨. | onStart() |
onRestart() | 액티비티가 멈췄다가 다시 시작되기 바로 전에 호출됨. | onStart() |
onStart() | 액티비티가 사용자에게 보여지기 바로 직전에 호출됨. | onResume() 또는 onStop() |
onResume() | 액티비티가 사용자와 상호작용하기 바로 전에 호출됨. | onPause() |
onPause() | 다른 액티비티가 보여질 때 호출됨. 데이터 저장, 스레드 중지 등의 처리를 하기에 적당한 메소드. | onResume() 또는 onStop() |
onStop() | 액티비티가 더이상 사용자에게 보여지지 않을 때 호출됨. 메모리가 부족할 경우에는 onStop() 메소드가 호출되지 않을 수도 있음. | onRestart() 또는 onDestroy() |
onDestroy() | 액티비티가 소멸될 때 호출됨. finish() 메소드가 호출되거나 시스템이 메모리 확보를 위해 액티비티를 제거할 때 호출됨. | 없음 |
※ onStop(), onDestory()는 호출되지 않을 수도 있음
'Develop > 안드로이드' 카테고리의 다른 글
(안드로이드 프로그래밍) Intent (인텐트)- 수정중 (0) | 2017.09.27 |
---|---|
(안드로이드 프로그래밍) 미니 계산기 만들기 실습 (0) | 2017.09.26 |
(안드로이드 프로그래밍) 회원가입 Form 만들기 (0) | 2017.09.26 |
(안드로이드 프로그래밍) Linear Layout 실습 3 (0) | 2017.09.26 |
(안드로이드 프로그래밍) Linear Layout 실습 2 (0) | 2017.09.26 |