안드로이드 생애주기에 대해

생애주기에 대한 단편적인 이해만을 가지고 리사이클러뷰 작업을 하던 중이었다.

리스트를 생성하고 그걸 어댑터에 적용시키는 등의 과정을 진행하고 있었는데,

이 과정을 onResume()에 넣을 경우 처음에는 잘 실행이 되지만 그 상태에서 다른 액티비티를 클릭해 이동했다가 취소버튼을 눌러 다시 돌아왔을 때 리사이클러뷰가 나타나지 않는 문제점이 발생했다.

onStart()에 넣어도 마찬가지였다.

그래서 onCreate()에 해당 과정을 넣어봤는데 잘 되는 것이 아닌가. 해서 생명주기에 대해 다시 한 번 자료를 찾아보았다.

http://androidhuman.com/246

여기에 따르면 각 메소드들은 순서만 다른 게 아니라 역할도 각각 다르다.

onCreate()는 나타나는 변수들의 초기화 부분,

onStart()는 초기화된 변수들을 뷰로 그려주는 부분,

onResume()는 그려진 뷰들을 사용자와 상호작용시키는 부분이다.

내가 문제를 일으켰던 어댑터 선언 및 설정의 경우는 초기화 단계이기 때문에 onCreate()에서만 정상적으로 동작한 것이 아닌가 싶다.

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중