안녕하세요?
Activity 는 뒤로가기나 다른 Activity로 전환되었을 때 Activity Stack에 남아 있어, 뒤로가기 버튼이나 startActivityForResult 등으로 원래의 Activity로 돌아갈 때, 그 전의 내용이 그대로 남아 있게 됩니다.


이 때, 화면이 전환 될때 마다 화면의 내용이 업데이트 되어야 할 부분이 생길수도 있는데요,
예를 들어 겔러리 폴더에서 사진을 찍고 다시 겔러리 폴더로 돌아오면 방금찍은 사진이 업데이트 되어 있어야 겠죠?
이런 내용을 처리할 때 유용하게 쓰입니다.

아래 코드를 참고해 주세요.
 public class Example extends Activity{
    public void onCreate(Bundle savedInstanceState) {
        init();
        update();
    }

   @Override
    public void onRestart(){
        super.onRestart();
        update();
    }

    private void init(){
    }

    private void update(){
    }
}

위에 처럼 코드를 작성할 때, onCreate 에 init, update 두가지를 작성합니다.
그래서 init은 해당 Activity가 생성 될때 필요한 것들, 예를들어 findViewById 로 View를 변수에 할당한다던지, 이벤트 리스너를 단다는 등 내용들을 추가합니다.

그리고 update 함수에는, 매번 업데이트 되어야 하는 내용들, 예를들어 시간을 표시한다던지, 겔러리에서 사진을 보여준다던지 하는 항목들은 Activity 가 재시작 되었을 때, 항상 갱신되어야 하는 내용들을 넣습니다.

이렇게 되면 Activity 가 전환되어도 잘 작동하고, 코드를 작성할 때도 가독성이 좀 더 좋아지는 것 같아서, 계속 이방법을 쓰고 있습니다.
참고 하시구요, 더 좋은 방법 있으면 알려주세요~^^