[안드로이드] backStack ?
backStack이란것을 많이 보고 들어봤기에 익숙하지만 뭔가 머리속에 모호하게 남아있었다.
일반적으로 한 화면에는 하나의 액티비티가 자리잡고있다. 그러다 다른 액티비티로 넘어간다. 여기서 기존에 띄어져있는 액티비티는 없어지는것이 아니라 백스택구조의 메모리에 저장되어진다. 그래서 결국 다른액티비티에서 뒤로가기를 누르면 기존의 액티비티가 중단된 시점으로부터 다시 띄어지게된다.
음 백스택은 이름그대로 스택의 구조로 생각하면 된다. 이 백스택안에 액티비티가 저장되어진다.

[이미지 : https://developer.android.com/guide/components/tasks-and-back-stack ]
그림과 같이 새로운 액티비티가 실행될때마다 backStack에 푸시되어지고 Activity3에서 back을 사용하여 종료될경우 backStack의 top Activity는 pop되어진다.
fragment도 이와같이 구현이 가능하다.
replace된 프래그먼트를 addToBackStack() 메소드를 이용하여 백스택에 저장한다.
유의 할 것은 popBackStack() 를 이용하여 replace될 프래그먼트를 push전에 pop을 해준다. 그렇치않으면 프래그먼트 중복현상이 일어나기 때문이다.
일반적으로 한 화면에는 하나의 액티비티가 자리잡고있다. 그러다 다른 액티비티로 넘어간다. 여기서 기존에 띄어져있는 액티비티는 없어지는것이 아니라 백스택구조의 메모리에 저장되어진다. 그래서 결국 다른액티비티에서 뒤로가기를 누르면 기존의 액티비티가 중단된 시점으로부터 다시 띄어지게된다.
음 백스택은 이름그대로 스택의 구조로 생각하면 된다. 이 백스택안에 액티비티가 저장되어진다.

[이미지 : https://developer.android.com/guide/components/tasks-and-back-stack ]
그림과 같이 새로운 액티비티가 실행될때마다 backStack에 푸시되어지고 Activity3에서 back을 사용하여 종료될경우 backStack의 top Activity는 pop되어진다.
fragment도 이와같이 구현이 가능하다.
replace된 프래그먼트를 addToBackStack() 메소드를 이용하여 백스택에 저장한다.
유의 할 것은 popBackStack() 를 이용하여 replace될 프래그먼트를 push전에 pop을 해준다. 그렇치않으면 프래그먼트 중복현상이 일어나기 때문이다.
댓글
댓글 쓰기