태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

・엑티비티(Activity) [3]

안드로이드 엑티비티에는 라이프 사이클이 있다 (스카이 라이프 비싼가 ... NBA 봐야 되는데... 여긴 없지 참 ㅡㅡ;;)

엑티비티는 자기자신이 어떤 상태에 놓여있는지에 의해서 그 상태가 변화된다 (ㅈㄹ 니가 뭐 슈퍼히어로냐)

안드로이드 어플리케이션 개발을 위해서는 엑티비티의 라이프 사이클을 이해해둘 필요가 있다 (나 사실 잘 모르고 막 코딩했는디?)

자.. 그럼 한번 살펴보자 왜 이해할 필요가 있는지 .... (스파이더맨이 거미에 물리고 싶어 물렸냐 뭘 이해해 대충 하면되지 ㅡㅡ;;)



・엑티비티의 라이프사이클의 이해의 필요성(말이 모호하게 이상하네 ... )

안드로이드에는 메모리로 대표되는 하드웨어 리소스의 관리 어플리케이션이 직접 실행되지 않는다. 메모리의 사용이나 할당을

안드로이드 시스템이 담당한다. 그렇다는 말은 엑티비티나 그 엑티비티가 동작하고있는 어플리케이션 프로세스의 생사여부의 권리를

시스템이 낼롬 가지고 있다! 는 것이다. 그래서 우선순위가 높은 어플리케이션이나 엑티비티에 메모리를 할당할 필요가있을때에!

지금 당장 메모리가 필요없는 엑티비티나 프로세스는 시스템에 의해 판단되어서 그 엑티비티나 프로세스를 죽여뿐다 ㅡㅡ;;;

또한 생존해 있는 여러 엑티비티의 상태는 그 엑티비티의 중요도를 판단하는데 그 중요도는 아래부터 설명 한다

※중요도가 높은 순서부터 설명 고고고오~~~

  • Foreground Activity(포어 그라운드 엑티비티)
    포어그라운드 엑티비티는 화면 최전면(그러니까 지금 내 눈깔에 보이는 화면)인 엑티비티를 말함
    간단히 지금 유저가 조작하고 있는 엑티비티라고도 말할수 있음
    시스템은 포어그라운드 엑티비티의 중요도를 가장 높게 보고있음. 그래서 원칙적으로 갑자기 엑티비티가 죽는 경우가 없음

  • Visible Activity
    비지블 엑티비티는 포커스를 잃은 상태의 엑티비티(화면엔 보이는 상탠데 조금 시커머죽죽 하게 보이는 상태)
    유저의 눈에는 보이는 상태의 엑티비티를 말함
    기본적으로는 엑티비티가 죽는 경우가 없지만 극단적으로 메모리가 부족할경우 사바세계와 안녕하는 경우가 있음

  • Background Activity
    백그라운드 엑티비티는 다른 엑티비티에의해 완전히 가려서 안보이는 상태
    백그라운드 엑티비티는 시스템이 메모리가 필요한 경우에 병풍뒤에서 향냄새를 맡게 해드린다 (안녕~~~)


・라이프 사이클 그림(ㅆㅂ 이거 포스팅한다고 만날 그림 그리고 있구나 ...)


헉... 선명하게 안보이네.... 뭐 대충 보이니 패스 .... ㅡ,.ㅡ;;; 아아 무책임한 인간아~~~ 다음에 그릴건 조낸 복잡한데 ... ㅡㅡ;;

엑티비티는 자기자신의 상태에 따라 적절한 타이밍에 적절한 처리를 할 필요가 있는 놈들이다 (늬들도 피곤허구나 ㅋㅋ)

엑티비티 클래스에는 엑티비티의 상태가 변화할때 그 상태에 따라 처리할 콜백메소드가 정의 되어 있다

개발하시는 (고생 많으십니다 꿉벅~)분들은 이러한 메소드를 오버라이드 해서 처리를 할 필요가 있다  (ㅡ,.ㅡ^)

자 이러한 메소드란 무엇인가 한번 양파껍데기 벗기듯 .. 아니 조낸 담배가 땡겼는데 단돈 십원이 모잘라서 담배를 못사다가

길바닥에서 십원을 줏어서 담배를 산뒤 광속의 속도로 담배비니루를 벗기듯이 한번 벗겨 보자!!! (아... ㅈㄹ 조낸 유치 ㅋㅋ)

메소드를 알아보기 앞서 우선 엑티비티의 라이프 사이클을 그림으로 한번 BoA 보도록 해봅시다(아... 이거 어케 그려 ㅆㅂ)


・엑티비티 라이프 사이클

아놔 ... 진짜 이거 그린다고 2시간 ㅈㄹ 했구나 .... 다 그리고 나니 잘 보이지도 않어 억지로 색을 입혔는데도 잘 안보이네 ㅡㅡ;;

뭐 대략적으로 보이니 넘어가야지 다시 그리는건 무리 ㅡ,.ㅡ;;;

간단한 설명을 함 쌔비보자

  • 라이프 사이클 전반(전체라고 쓸걸 그랬나 ㅡ,.ㅡ;)
    엑티비티가 생성(onCreate메소드가 호출될때)될때 부터 소멸될때 까지 (onDestroy메소드가 호출될때)의 기간전체를 표시

  • 비지블 라이프 타임
    비지블 라이프 타임은 해당 엑티비티가 비지블 엑티비티로서 생존 하고 있는 기간을 뜻한다
    비지블 라이프 타임에 속한 메소드는 onRestart, onStart, onStop이 있다

  • 포어 그라운드 라이프 타임
    포어 그라운드 라이프 타임은 해당 엑티비티가 포어 그라운드 엑티비티 로서 생존하고 있는 기간을 뜻한다
    포어 그라운드 라이프 타임에 속한 메소드는 onResume, onPause가 있다

엑티비티 클래스가 제공 하고 있는 각 콜백 메소드의 상세 설명은 아래와 같이 ...... (이러다 책 쓰것다 늬믜)


티스토리의 표 툴이 구려서 엑셀에서 그리고 캡쳐 .... 아놔 진짜 ... ㅡ,.ㅡ;; 빡시구나 블로깅이라는거 ㅋㅋㅋ

뭐 각설하고 지금까지 안드로이드를 구성하는 요소중 가장 기초이며 기본이 되는 엑티비티에 대해서 이론적인면을 살펴보았다
마지막으로 한번 사알짜쿵 예제소스를 짜봄으로서 엑티비티에 대한 설명은 종료해야것다

엑티비티 예제 샘플에서는 간단한 화면을 구성해보고 본문에서 설명한 라이프사이클도 함께 구현해 보고 싶군하 ㅋㅋㅋ

다음은 엑티비티 마지막!!! 예제와 함께 살펴보장!! 우왕ㅋ굳ㅋ







저작자 표시 비영리 변경 금지
신고
Posted by 무현군


티스토리 툴바