티스토리 뷰
Activity
1. OnCreate()
Activity가 실행되고 호출됩니다.
Activity에서 필요한 리소스를 초기화하는 곳입니다.
2. OnStart()
사용자에게 Activity가 보이도록 해줍니다.
보통 BroadCastReceiver를 등록할 때 사용합니다.
3. OnResume()
Background 상태에서 Foreground가 되면 호출되거나 다른 Activity에서 돌아오면 호출됩니다.
카메라와 같이 화면을 가지고 있는 경우에만 사용할 수 있는 리소스를 초기화합니다.
4. OnPause()
Background 상태가 되면 호출됩니다. ( 다른 Activity가 실행되면 현재 Acitivity도 OnPause를 호출합니다. )
OnReume()에서 초기화 해준 리소스를 해제해주는 곳입니다.
OnPause()에서는 시간이 짧기 때문에 작업을 처리하기에는 부족합니다.
따라서 데이터를 저장하는 등의 데이터 관련 코드를 작성하면 안 됩니다.
5. OnStop()
사용자에게 Activity가 보이지 않게 되면 호출됩니다.
OnStop()이 호출된 뒤에 사용자가 해당 Acitivity로 다시 돌아오면 OnRestart(), OnStart()가 호출됩니다.
그리고 시스템은 OnStop() 상태가 되면 onSaveInstanceState()라는 함수를 호출합니다.
이 단계에서 값을 저장할 수 있고, onCreate()를 통해 복원할 수 있습니다.
6. OnDestroy()
메모리가 부족하여 시스템이 Activity를 종료하거나 사용자가 Activity를 finish 할 때 호출됩니다.
예를 들어 세로에서 가로로 화면 전환이 될 때 앱 내부에서 OnDestroy()하고 다시 OnCreate()를 호출합니다.
Fragment
1. OnAttach()
Fragment가 Activity에 Attach 될 때 호출됩니다.
인자로 context가 주어지기 때문에 부모 Activity에 접근할 수 있습니다.
2. OnCreate()
Fragment에서 필요한 리소스를 초기화하는 곳입니다.
하지만 여기서 UI 관련 초기화를 할 수 없습니다.
3. OnCreateView()
view 객체를 얻을 수 있는 곳으로 UI 관련 초기화를 할 수 있는 곳입니다.
4. OnViewCreated()
OnCreateView와 OnActivityCreated() 사이에 호출됩니다. 뷰가 생성되면 호출됩니다.
4. OnActivityCreated()
Fragment에서 OnCreateView()가 끝나고 Activity에서 onCreate()가 호출되면 호출됩니다.
Activity와 Fragment 모두 View가 생성돼서 UI 변경 작업이 가능합니다.
5. OnStart()
사용자에게 Fragment가 보입니다.
6. OnResume()
Background 상태에서 Foreground가 되면 호출되거나 다른 Activity나 Fragment에서 돌아오면 호출됩니다.
7. OnPause()
Background 상태가 되거나 다른 Activity가 화면에 나오면 호출됩니다.
8. OnStop()
다른 Activity가 화면을 가리면 호출됩니다.
9. OnDestroyView()
Fragment와 관련된 View가 제거됩니다.
10. OnDestroy()
생성할 땐 OnCreate에서 리소스를 초기화하고 OnCreateView에서 UI를 초기화하였는데,
반대로 OnDestroyView에서 View를 제거하고 OnDestroy를 합니다.
11. OnDetach()
Fragment가 Activity에서 해제되면 호출됩니다.
'알려주는 이야기 > 안드로이드' 카테고리의 다른 글
안드로이드 라이브러리 만들고 JitPack으로 배포하기 (3) | 2020.08.29 |
---|---|
안드로이드 이미지 bitmap 인코딩, 디코딩 처리 (0) | 2020.08.29 |
안드로이드 Security Library 사용해서 SharedPreference 암호화 하기 (1) | 2020.08.28 |
안드로이드 Keystore 정보 숨기기 (1) | 2020.08.28 |
안드로이드 Bottom Navigation View 예제 (0) | 2020.08.24 |